我很抱歉提出这个问题,因为我找到了类似的回答问题,但是我很难理解如何阅读未知长度的行,但结构是一样的。
每一行的结构如下:name:id:buyingPrice:sellingPrice:profit:quantity
名称和ID是字符串,其余是双打。
我的问题是我不知道如何设置读取和存储每个字段的时间,是否可以获得有关如何完成此操作的详细说明?
这是我对该文件的读取(仅使用字符串):
file = fopen("fileData.txt", "rt");
if(file != NULL){
char lineSize[128] = "";
while(fgets(line, 128, file) != NULL){
fscanf("%s:%s:%s:%s:%s:%s", string1, string2, string3, string4, string5, string6);
}
fclose(file);
答案 0 :(得分:0)
您是否考虑在strtok
之后使用fgets
来解析令牌?
答案 1 :(得分:0)
我将使用的是scanf格式的'a'修饰符:简单地说'fscanf(“%as:%as:...”,...)',传入未分配指针的地址和让fscanf为你们购买它们。
这起源于gnu扩展,但是AFAIK,它已经成为C11的标准。