我正在从一个文件中读取文件,其中有数千个以纯文本形式写入的浮点数,以换行符分隔。漂浮物本身被空白分开,偶尔也会有一个分号(分隔每组3个)。一个换行符不会出现,直到最后一个,一个未知的(但可能是几万个)字符。如何缓冲从大文件中读取数据而不换行
我使用的语言是C
3Dmodel.txt
-----
Obj1 Vertice count=5842;
{
0.499507 -0.003674 0.699311; 0.454010 -0.075165 ... -0.022236 \n (newline)
}
我的问题是,什么是提取该文件,并到内存中的字符串的最好方法?
我似乎无法使用fgets()
,因为换行符已经到位,并且因为它可能会在浮动中间结束读取,使其不完整。将整个文件读入内存似乎是不必要的昂贵,尽管如果它是唯一的方法并不可怕,因为每个文件只有2MB到10MB大。
您是否尝试过'fscanf'? –
我不会说谎,C++解析比C更容易。但是fscanf对于浮动很有效。 –
@larsmans - ...我很密集。我一直使用'scanf()',但是。今天有一个Duh Moment。谢谢! –