【发布时间】:2012-11-09 21:29:50
【问题描述】:
我想知道是否有任何方法可以使用 fscanf 或 fgets 函数忽略空格。我的文本文件每行有两个字符,可能会或可能不会被空格分隔。我需要读取这两个字符并将每个字符放在不同的数组中。
file = fopen(argv[1], "r");
if ((file = fopen(argv[1], "r")) == NULL) {
printf("\nError opening file");
}
while (fscanf(file, "%s", str) != EOF) {
printf("\n%s", str);
vertexArray[i].label = str[0];
dirc[i] = str[1];
i += 1;
}
【问题讨论】:
-
fscanf(file, " %c %c", &str[0], &str[1])? -
为什么要打开文件两次?
-
我只是不小心把多余的 fopen 放在那里,没有理由。谢谢丹尼尔! :)
-
我不明白你是想忽略第一个空格,还是忽略其他空格。
-
我想忽略所有的空白。所以它只会读取一个字符并跳过任何数量的空白,可能会得到下一个字符。 =D