我有一个文本文件,其中每一行都有格式
AB:C
我想用 C 语言阅读它,但我想在每一行中得到的只是 ':' 之后的内容。换句话说,我只想在文件的每一行中获取 C 值,但我要做的就是逐行读取文件并获取每一行的值。
有什么想法吗?
打开文件进行阅读
fp = fopen("file.txt" , "r");
使用 fgets() 读取该行
fgets (str, MAX_LENGTH, fp);
使用Strtok根据“:”进行断点
ptr = strtok(str,":");
通过使用逐行读取文件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()