我有以下格式的多TSV文件:力FSCANF消耗可能的空白
Type\tBasic Name\tAttribute\tA Long Description\n
正如你所看到的,基本的名稱和描述可以同時包含空格一些數字。我正在嘗試讀取每行並提取元素。現在,我已經縮小到只提取基本名稱。我的fscanf如下:
fscanf(file_in, "%*[^ ]s\t%128[^ ]s\t%*[^ ]s\t%[^ ]s\n", name_string, desc_string);
這並不像我希望的那樣工作,而且我無法縮小錯誤範圍。有誰知道我該如何正確閱讀這些文字?
啊,我明白了。我對使用[]有點困惑,但這是有道理的。雖然,我不確定在%128 [^ \ t]上看到使用%128 [^ \ t]%* [^ \ t]來讀取數據的好處。 – Tanaki
@Tanaki因爲如果限制爲128個字符,它將在128個字符後停止掃描,並且字段中的其餘字符將與下一個指令相匹配,該指令應與下一個字段匹配。 – rici
你是救命的人,我忘記了潛在的溢出! – Tanaki