我开始使用C语言编程,并且在阅读文本文件时遇到了一些问题。让我解释。如何检索文本文件中的行
我有一个组织像这样的文件中的文本:
Tony
12.23
John
09.45
Tayris
03.99
我想检索不到十年的所有笔记,并显示他们,但我不能......
有谁可以帮助我吗?
非常感谢。
我开始使用C语言编程,并且在阅读文本文件时遇到了一些问题。让我解释。如何检索文本文件中的行
我有一个组织像这样的文件中的文本:
Tony
12.23
John
09.45
Tayris
03.99
我想检索不到十年的所有笔记,并显示他们,但我不能......
有谁可以帮助我吗?
非常感谢。
C提供了可用于从磁盘读取文件四个功能:
的fscanf()
磁场定向功能。
与fgets()
面向行的功能。
龟etc()
面向字符的功能
的fread()
面向块的功能。
有关更多信息,请参见this article。
查看fgets
功能。它将返回到(包括)字符串字符的末尾(如果需要,可以从目标字符串中剥离它)。
http://people.cs.uchicago.edu/~iancooke/osstuff/ccc.html提供了一个例子:
下面是一个更复杂的例子。 Readline()使用fgets()读取 MAX_LINE - 缓冲区'in'中的1个字符到 。它删除前面的 空格,并返回指向第一个非空白字符的指针 。
char *Readline(char *in) {
char *cptr;
if (cptr = fgets(in, MAX_LINE, stdin)) {
/* kill preceding whitespace but leave \n
so we're guaranteed to have something*/
while(*cptr == ' ' || *cptr == '\t') {
cptr++;
}
return cptr;
} else {
return 0;
}
}
这应该是足够的,我认为。
非常感谢,我会试试这个! – Nasty927 2010-12-20 21:12:27
这是功课吗?如果是这样,请妥善标记。此外,你现在有哪些代码不起作用? – ysap 2010-12-20 20:55:31
@ysap,标记'家庭作业'不鼓励,请参阅:http://blog.stackoverflow.com/2010/08/the-death-of-meta-tags/ – 2010-12-20 21:00:05