0

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

AB:C

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

有什么想法吗?

4

2 回答 2

4

打开文件进行阅读

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

使用 fgets() 读取该行

 fgets (str, MAX_LENGTH, fp);

使用Strtok根据“:”进行断点

ptr = strtok(str,":");
于 2013-10-03T17:30:13.810 回答
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()通过检查against的返回值NULL

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

于 2013-10-03T17:41:24.827 回答