尝试将 std::string 写入文件时,您可能会遇到字符显示为框而不是预期文本。这是因为 write() 方法在字符串对象中存储二进制数据,包括指针和数据长度。
但是,写入文本文件需要不同的方法。推荐的方法是使用 ofstream (out-file-stream),其行为与 std::cout 类似,但将输出定向到文件。
要使用 std::string 写入文本文件,您可以按照以下步骤操作:
示例代码snippet:
#include <fstream> #include <string> int main() { std::string input; std::cin >> input; std::ofstream out("output.txt"); out << input; out.close(); return 0; }
注意: out.close() 调用并不是绝对必要的,因为当 out 超出范围时,ofstream 析构函数会自动处理此问题。
如果需要以二进制形式写入文件,请使用 std::string 的 c_str() 方法来获取实际数据:
write.write(studentPassword.c_str(), studentPassword.size());
以上是如何在 C 中正确地将 std::string 写入文本文件?的详细内容。更多信息请关注PHP中文网其他相关文章!