我一个字一个字地从文件中读取数据,并试图用每个字之间的空间存储在同一个缓冲区中。但言语却空空如也。请告诉我怎么了?
输出来自aniljaiswalvikaskumarnikhilkumarindia,但我希望每个单词之间有空格。
int main()
{
char buff[200];
int l=0;
FILE *fp;
fd = NULL;``
fp = fopen("header.c","r");
memset(buff,0,200);
while(1)
{
fscanf(fp,"%s",buff+l);
l=strlen(buff);
printf("Word of string = %s\n",buff);
printf("Length of string = %d\n",l);
if(feof(fp))
{
break;
}
}
fclose(fp);
return 0;
}
最佳答案
忽略暴露于缓冲区溢出的事实,只需添加以下空间:
fscanf(fp,"%s",buff+l);
l=strlen(buff);
buff[l] = ' ';
l++;
关于c - 使用同一阵列重复存储数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13182995/