繁体   English   中英

逐行读取文件的已知结构,但长度未知

[英]Reading from file line by line known structure but length is unknown

很抱歉提出这个问题,因为我发现了类似的回答问题,但是我很难理解如何读取长度未知但结构相同的行。

每行的结构如下:名称:id:购买价格:销售价格:利润:数量

名称和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);

你有没有想过使用strtok解析后的标记fgets

我要使用的是scanf格式的'a'修饰符:简单地说'fscanf(“%as:%as:...”,...)',传入未分配指针的地址,然后让fscanf malloc他们为你。

它起源于gnu扩展,但AFAIK使其成为C11标准。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM