【发布时间】:2012-11-10 02:15:24
【问题描述】:
如何从文本文件中仅读取 C 中的数字。除了空格、符号、回车和字母。
这就是我阅读文本的方式:
unsigned char symb, symb1;
FileIn = fopen("InCode.txt","rt");
while (!feof(FileIn))
{
symb=getc(FileIn);
symb1=symb;
printf("%c",symb1);
}
它应该是这样工作的:
/* Data in the file: */
12hj2 3h23j1
/* Output: */
1223231
【问题讨论】:
-
@omkant“以文本模式阅读”。与以二进制模式读取的“rb”相反。这是 Windows 的事情,AFAIK。
-
@clintp : 哦 thnks 实际上我第一次看到我做了` man fopen `但没有得到他们的也
-
您能否发布一个示例文本文件,以及您希望看到的输出内容?
-
@Akerlem 根据您的一些后续 cmets,我不得不问 - 您是否希望程序根本不读取非数字字符(即只是以某种方式跳过它们,即使直到它读取它才能知道它不是数字)?除非您事先知道您想阅读哪些字符,否则无法做到这一点......发布的答案显示了如何阅读每个字符,但只对您想要的字符做一些事情,这是您可以做到的最好的做...
-
是的,你是对的。程序必须只读从 0 到 9,仅此而已。