当前位置: 代码迷 >> C语言 >> fgets的问题
  详细解决方案

fgets的问题

热度:291   发布时间:2007-06-17 19:17:13.0
fgets的问题

#include<stdio.h>
main()
{
FILE *fp;
str[1];
if((fp=fopen("d:\\ctxt\\1.txt","r"))==NULL)
{
printf("can not open file");
exit(0);
}
while(fgets(str,2,fp)!=NULL)
printf("%s",str);
fclose(fp);
}
1.txt里的内容为12345.
为什么最后的执行结果为:1122334455??????????
fgets()中的第二个参数是什么意思?
fgets()的执行过程到底是怎么样的????

搜索更多相关的解决方案: fgets  

----------------解决方案--------------------------------------------------------
#include<stdio.h>
#include<string.h>
main()
{
FILE *fp;
char str[1];
if((fp=fopen("d:\\ctxt\\1.txt","r"))==NULL)
{
printf("can not open file");
return(0);
}
while(fgets(str,2,fp)!=NULL)
{
printf("%s",str);
}
fclose(fp);
return(0);
}

----------------解决方案--------------------------------------------------------

伙计你是不是该看看课本


----------------解决方案--------------------------------------------------------

#include<stdio.h>
main()
{
FILE *fp;
str[1];
if((fp=fopen("d:\\ctxt\\1.txt","r"))==NULL)
{
printf("can not open file");
exit(0);
}
while(fgets(str,2,fp)!=NULL)
printf("%s",str);
fclose(fp);
}我运行了你的程序还是不可以的
这是一个文件的函数它的用法我现在也不记得了
我回头给你看看
你好好看看
----------------解决方案--------------------------------------------------------

那先谢谢了!!


----------------解决方案--------------------------------------------------------
char str[1]
----------------解决方案--------------------------------------------------------
#include<stdio.h>
void main()
{
FILE *fp;
char str[1];
if((fp=fopen("d:\\ctxt\\1.txt","r"))==NULL)
{
printf("can not open file");
exit(1);
}
while(fgets(str,1,fp)!=NULL)
printf("%s",str);
fclose(fp);
}
fgets的第二个参数n表示从fp所指的文件中读n个字符到str中。
----------------解决方案--------------------------------------------------------
那为什么结果是1122334455????它读了1后,还会去读2么????
----------------解决方案--------------------------------------------------------