如何用 C 语言读取文件内容作为字符数组
背景
这个问题询问如何使用名为 inputFile 的文件的字节填充字符数组缓冲区。用户在使用其他建议的使用 getline() 而不是 ifstream::read() 的方法时遇到了困难。
解决方案
有几种方法可以解决此问题任务:
使用 ifstream::read()
此方法涉及:
示例代码:
<code class="cpp">// Open file in binary mode std::ifstream infile("C:\MyFile.csv", std::ios_base::binary); // Get file length infile.seekg(0, std::ios::end); size_t length = infile.tellg(); infile.seekg(0, std::ios::beg); // Read file infile.read(buffer, length);</code>
使用 istreambuf_iterator
这种方法更现代,使用迭代器来读取文件:
示例代码:
<code class="cpp">// Create iterators std::istreambuf_iterator<char> begin(infile); std::istreambuf_iterator<char> end; // Create vector std::vector<char> contents(begin, end); // Copy vector to array std::copy(contents.begin(), contents.end(), buffer);</code>
注意事项
以上是如何使用 ifstream::read() 和 istreambuf_iterator 在 C 中以字符数组形式读取文件内容?的详细内容。更多信息请关注PHP中文网其他相关文章!