在文件中逐行读取特定区域中的文件

时间:2013-10-03 17:20:33

标签: c file

我有一个文本文件,其中每一行都有格式

A B:C

我想用C语言阅读它,但我想要的每一行都是'''之后的内容。换句话说,我想在文件的每一行中只获取C值,但我想要做的就是逐行读取文件并获取每一行的值。

有任何想法吗?

2 个答案:

答案 0 :(得分:4)

打开文件进行阅读

fp = fopen("file.txt" , "r");

使用fgets()读取行

 fgets (str, MAX_LENGTH, fp);

根据“:”使用Strtok打破

ptr = strtok(str,":");

答案 1 :(得分:1)

使用fgets()

逐行读取文件

fgets(line,MAX_SIZE,file_stream);

并使用strchr()来获取C开始的位置

char *ptr=strchr(line,':'); //ptr points to the : location 

//now if you Move ptr location next to ':' ptr points to C 

printf("C=%s",ptr+1); 

如果不使用额外的指针,你可以这样做

printf("C=%s",strchr(line,':')+1); 

重复这些步骤,直到到达文件末尾。通过检查fgets()NULL的返回值。

注意:在这个A B:C中,如果A或B包含:那么您需要相应地应用逻辑。 您也可以使用strrchr()