我需要创建一个程序,从文本文件读取一行,修改它,然后将单词打印到另一个由偶数个字符组成的文本文件中。我通过怀疑“fgets”获得一条线并将其存储到一组字符中。但是,如何逐字逐句地阅读? (“Word” - 是除空格外的字符流)。
感谢。
答案 0 :(得分:1)
查看此function,然后根据以下示例:
/* strtok example */
#include <stdio.h>
#include <string.h>
int main ()
{
char str[] ="- This, a sample string.";
char * pch;
printf ("Splitting string \"%s\" into tokens:\n",str);
pch = strtok (str," ,.-");
while (pch != NULL)
{
printf ("%s\n",pch);
pch = strtok (NULL, " ,.-");
}
return 0;
}
答案 1 :(得分:0)
您可能想查看sscanf。它将字符串/字符数组作为参数,并从中读取您在格式字符串中描述的内容。对于单词,您可以使用%s
并检查结果,它不是标点符号或您定义为单词的内容。
答案 2 :(得分:0)
要从文件中读取,您可以使用fscanf(file,"%s",cString)
它可以解决问题。要回答标题中的问题,您可以使用fscanf(cStringSource,"%s",cString)
。
要逐字阅读,您只需简单地进入循环。
参考:http://en.cppreference.com/w/c/io/fscanf。
还有一种名为strtok
的东西。