如何在不看到框的情况下将 std::string 写入文件
问题:
使用 write() 方法将 std::string 变量写入文件时,生成的文件显示框而不是预期的 细绳。 std::string 是否适合这种情况,还是应该考虑替代方法?
答案:
std::string 确实适合写入文件,但 write() 方法适用于二进制数据。要以文本格式写入字符串,请考虑使用 ofstream 对象。举个例子:
#include <fstream> #include <string> #include <iostream> int main() { std::string name; std::cout << "Enter your name: "; std::cin >> name; std::ofstream out("name.txt"); out << name; // Writes the string to the file in text format out.close(); return 0; }
对于二进制写入,使用c_str()方法获取底层字符数据并写入文件:
#include <fstream> #include <string> #include <iostream> int main() { std::string password; std::cout << "Enter your password: "; std::cin >> password; std::ofstream out("password.bin", std::ios::binary); out.write(password.c_str(), password.size()); // Writes the password in binary format out.close(); return 0; }
以上是为什么将 std::string 写入文件会产生框而不是文本?的详细内容。更多信息请关注PHP中文网其他相关文章!