如何在 C 中将文件字节检索到字符数组
要在不使用 getline() 的情况下将文件字节读取到字符数组中,请考虑使用 ifstream::read()。请按照以下步骤操作:
打开文件:
<code class="cpp">std::ifstream infile("C:\MyFile.csv");</code>
获取文件长度:
<code class="cpp">infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg);</code>
确保缓冲区大小:
<code class="cpp">if (length > sizeof (buffer)) { length = sizeof (buffer); }</code>
读取文件:
<code class="cpp">infile.read(buffer, length);</code>
附加说明:
更新的方法(2019):
为了解决阅读过程中潜在的错误,请考虑以下方法:
<code class="cpp">size_t chars_read; if (!(infile.read(buffer, sizeof(buffer)))) { if (!infile.eof()) { // Handle error during reading } } chars_read = infile.gcount(); // Get actual number of bytes read</code>
以上是如何在 C 中不使用 getline() 将文件字节读取到字符数组中?的详细内容。更多信息请关注PHP中文网其他相关文章!