【发布时间】:2014-12-30 10:08:03
【问题描述】:
我正在尝试使用 fscanf 从 txt 文件中读取内容。我每次只读一个字。我正在计算我收集了多少单词。这样我就可以创建一个包含字数的动态数组。数组的每个元素都将包含一个单词。但我不知道怎么做。这是我的代码
pFile = fopen(inFile, "r");
char *chr;
if(pFile != NULL) // Process if the file is not empty
{
while(!feof(pFile))
{
chr = (char*)malloc(sizeof(char*));
num++;
fscanf(pFile, "%s", chr);
}
printf("%s",chr);
}
而我的txt文件示例是这样的:hello world
【问题讨论】:
-
请do not cast
malloc()的返回值。 -
还有,
feof()相关的使用说明 -
我每次都想得到一个词,这就是我使用 %s 的原因
-
@SouravGhosh 我们真的需要一个自动扩展为“不强制转换 malloc 的结果”的标签:p