我有一个文本文件,其中每一行都有格式
A B:C
我想用C语言阅读它,但我想要的每一行都是'''之后的内容。换句话说,我想在文件的每一行中只获取C值,但我想要做的就是逐行读取文件并获取每一行的值。
有任何想法吗?
答案 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()