我正在逐字读取文件中的数据,并尝试将每个字之间的空格存储在同一个缓冲区中。但是没有空间的话就出来了。请告诉我哪里出了问题? 输出来自 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/