【发布时间】:2016-09-27 23:23:15
【问题描述】:
请我在这方面遇到了很多麻烦。我有一个包含大量字符的文本文件,我需要通读每个字符,如果它是字母表中的一个字母,那么我需要将它存储在一个数组中。
到目前为止,我只是尝试将字符放入我的数组中,无论它是否是字母字符,但我的 fscanf 没有读取任何内容。
这是我的代码
char j = ' ';
int i;
FILE *file = fopen("text.txt", "r");
for(i = 0; i < 10; i++)
{
fscanf(file, " %c ", &j);
printf(" %c\n", j); //So I could see if j got anything BUT I'M NOT :(
if((j >= '97' && j <= '122') || (j >= '65' && j <= '90'))
{
fscanf(file, "%c", &array[i]);
}
}
fclose(file);
return 0;
我的结果?没有什么只是空格。是的,我的文本文件与我的 .c 文件位于同一文件夹中
帮助
我的问题:我的 fscanf 实际上没有读取任何内容。我的 j 变量永远不会改变!感谢下面的帮助者,我现在可以修复 ASCII 问题,但 fscanf 是我的主要问题,阻碍了我的进步
【问题讨论】:
-
请出示您的密码。
-
在循环中使用
fgetc。 -
并使用
isalpha。 -
Use a library -- they solve everything! ...哈,哈。 :)
-
欢迎来到 Stack Overflow。请尽快阅读About 和How to Ask 页面。我们将帮助您解决解决问题的诚实尝试,但我们通常不会从头开始编写代码。请阅读有关如何创建 MCVE (minimal reproducible example) 的信息,尽管您的代码很可能已经是有效的 MCVE。
标签: c