如何从C中的文件中读取多行数据,其中每行都有分隔符以分隔该行上的不同数据?
例如,我有一个包含以下文本的文件:
Some Text | More Text | 1:23 Text Again | Even More Text | 4:56 etc...
这是我尝试过的,但到目前为止它对我没用:
char str1[20]; char str2[20]; int mins; int secs; char line[50]; while (fgets(line, 50, textFile) != 0) { sscanf(line, "%20[ | ]%20[ | ]%d[:]%d", str1, str2, &mins, &secs) }
您可以从我的代码中猜测我是C的新手,我感谢任何帮助。
更换
sscanf(line, "%20[ | ]%20[ | ]%d[:]%d", str1, str2, &mins, &secs)
同
sscanf(line, "%19[^|] | %19[^|] | %d:%d", str1, str2, &mins, &secs); trim_end(str1);//remove the trailing white spaces trim_end(str2);
#include #include void trim_end(char *s){ size_t len = strlen(s); while(len--){ if(isspace(s[len])) s[len] = 0; else break; } }
以上就是c/c++开发分享在C中用空格和分隔符读取多行字符串相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/523226.html