将文本文件读入C中的行数组中

Zac*_*onn 5 c arrays text file

使用CI希望以这样的方式读取文本文件的内容,以便在完成所有操作时使用第n个字符串表示文本文件的第n行的字符串数组.文件的行可以任意长.

什么是实现这一目标的优雅方式?我知道将一个文本文件直接读入一个适当大小的缓冲区的一些巧妙的技巧,但将其分解成行会使它变得更加棘手(至少就我所知).

非常感谢!

Dan*_*anu 6

将其分解为行意味着解析文本并用0替换所有EOL(通过EOL我的意思是\n和\ r)字符.这样,您实际上可以重用缓冲区并将每行的开头存储到单独的char中*数组(所有只通过2次传递).

通过这种方式,您可以对整个文件大小进行一次读取+ 2次解析,这可能会提高性能.