我想读取文本文件并将其存储到数组中data[512]
。fgets未将阵列完全填充
下面是代码:
char filename = "send.txt";
//Open File
FILE *in_file = fopen("send.txt", "r");
if(in_file == NULL){
printf("Error : couldn't oepn file");
}
char data[512];
while(fgets(data, sizeof(data), in_file) != NULL){
printf("read size: %d \n", strlen(data));
...
}
为什么strlen(data)
每次返回不同的值?为什么data
未完全填充?
编辑
当使用fread()
while循环中:
printf("Start Reading \n");
memset(&data[0], 0, sizeof(data));
size_t numRead = fread(data,1,sizeof(data),in_file);
printf("numRead: %d \n", numRead);
if(numRead == NULL)
{
printf(" fread() failed\n");
return 1;
}
printf("data size: %d \n", strlen(data));
的数据大小(最后一行)是不正确的!
样品TEXTFILE(它是确定所有除了第一个,其中strlen
返回513,而不是512):
ËLorem存有EST simplement杜人造texte雇工丹斯LA组合物等拉濑烯页前卫的印象。 Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis lesannées1500,quand un peintre anonyme assembles ensemble des des morceaux de texte pourréaliserun livrespécimende polices de texte。如果你没有证据证明你的生活有任何危险,你可以通过改变你的信息,无条件地改变你的生活。 Il aétépopularisédans lesannées1960grâceàla vente de feuilles Letraset contenant des passage du Lorem Ipsum,et,plusrécemment,par son dans des applications de mise en page de texte,comme Aldus PageMaker.e Lorem Ipsum est simplement du人为的印象将会给人以深刻的印象。 Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis lesannées1500,quand un peintre anonyme assembles ensemble des des morceaux de texte pourréaliserun livrespécimende polices de texte。如果你没有证据证明你的生活有任何危险,你可以通过改变你的信息,无条件地改变你的生活。 Il aétépopularisédans lesannées1960grâceàla vente de feuilles Letraset contenant des passage du Lorem Ipsum,et,plusrécemment,par son dans des applications de mise en page de texte,comme Aldus PageMaker.e Lorem Ipsum est simplement du人为的印象将会给人以深刻的印象。 Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis lesannées1500,quand un peintre anonyme assembles ensemble des des morceaux de texte pourréaliserun livrespécimende polices de texte。如果你没有证据证明你的生活有任何危险,你可以通过改变你的信息,无条件地改变你的生活。 Il aétépopularisédans lesannées1960grâceàla vente de feuilles Letraset contenant des passage du Lorem Ipsum,et,plusrécemment,par son dans des applications de mise en page de texte,comme Aldus PageMaker.e Lorem Ipsum est simplement du人为的印象将会给人以深刻的印象。 Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis lesannées1500,quand un peintre anonyme assembles ensemble des des morceaux de texte pourréaliserun livrespécimende polices de texte。如果你没有证据证明你的生活有任何危险,你可以通过改变你的信息,无条件地改变你的生活。 Il aétépopularisédans lesannées1960grâceàla vente de feuilles Letoraset con desant des passage du Lorem Ipsum等人,加上包括德文技术在内的应用程序,请浏览Aldus PageMaker。 Le Lorem Ipsum est simplement du texte employte dans la composition et la mise en page avant impression。 Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis lesannées1500,quand un peintre anonyme assembles ensemble des des morceaux de texte pourréaliserun livrespécimende polices de texte。如果你没有证据证明你的生活有任何危险,你可以通过改变你的信息,无条件地改变你的生活。它推广20世纪60年代与含Lorem存有通道,以及Letraset张释放最近,通过将其列入文本布局应用程序,如奥尔德斯PageMaker.e Lorem存有简直是打印前虚拟文本成分和布局。 Lorem存有标准的虚拟文本自1500年有史以来,当一个未知的聚集件
一起
使用龟etc(),它是没有效率的,目的是你相信它会被填满。 – user2090491 2014-10-30 12:33:48
显示文件内容.. – 2014-10-30 12:38:50
它是可行的,在此附上文件? – 2014-10-30 12:56:47