关于文件io函数IN C



我正在处理文件io函数,有人能解释一下&对于语句2,在下面的代码中,我想在这里输入字符串&然后想把它写在磁盘上。。。。。

#include<stdio.h>
#include<sttring.h>
int main()
{
    FILE *fp;
    char s[80];
    fp=fopen("noname00.cpp","w");
    while(strlen(gets(s))>0) /*parenthesis now at correct place*/ /*purpose of this statement */
    {
        fputs(s,fp);
        fputs("n",fp);
    }
    fclose(fp);
    return 0;
}

简单但切中要害的帮助将不胜感激。

哪一个是语句2?char s[80];?它只是简单地声明和定义一个大小为80的字符数组。

如果您的意思是语句2是while(strlen(gets(s)>0)),那么我认为它不正确。strlen()接受const char *作为其参数,但您将其指定为整数:gets(s) > 0

此外,千万不要使用gets(),因为http://c-faq.com/stdio/getsvsfgets.html

另外,获取的副本http://en.wikipedia.org/wiki/The_C_Programming_Language和学习。

该语句的目的是测试是否只有一个"return"来中断循环。否则,用户可以继续输入多行并将多行添加到文件中。如果您真的只想允许一行,则可以删除while{}。

最新更新