关于C语言中的fgets();
559,997,dfd,586787,jh5,88p,4jh78h,iu7,89p,kkggkg,89p,878,ghg这是我要读写的内容.#include<stdio....
559,997,dfd,586
787,jh5,88p,4jh
78h,iu7,89p,kkg
gkg,89p,878,ghg
这是我要读写的内容.
#include<stdio.h>
void main()
{
FILE *read;
char buffer[256];
if((read = fopen("readme.txt","rb")) == NULL)
{
printf("read file error!\n");
}
while(!feof(read))
{
fgets(buffer,7,read);
printf("%d\n",strlen(buffer));
printf("%s\n",buffer);
}
fclose(read);
}
我每次读取的是6个字节.是不是我读取6个字节之后。编译系统会自动在串的末尾添加一个'\0'做为串的结束符?可我读取到586时。strlen(buffer)为什么会是5呢?
不应该是buffer[0]='5';buffer[1]='8';buffer[2]='6';buffer[3]='\n';strlen(buffer)应该是4吧。它读取到串的末尾的时候,是不是会读取一个'\n'存进来。 展开
787,jh5,88p,4jh
78h,iu7,89p,kkg
gkg,89p,878,ghg
这是我要读写的内容.
#include<stdio.h>
void main()
{
FILE *read;
char buffer[256];
if((read = fopen("readme.txt","rb")) == NULL)
{
printf("read file error!\n");
}
while(!feof(read))
{
fgets(buffer,7,read);
printf("%d\n",strlen(buffer));
printf("%s\n",buffer);
}
fclose(read);
}
我每次读取的是6个字节.是不是我读取6个字节之后。编译系统会自动在串的末尾添加一个'\0'做为串的结束符?可我读取到586时。strlen(buffer)为什么会是5呢?
不应该是buffer[0]='5';buffer[1]='8';buffer[2]='6';buffer[3]='\n';strlen(buffer)应该是4吧。它读取到串的末尾的时候,是不是会读取一个'\n'存进来。 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询