首页 >后端开发 >C++ >如何正确地将字符串写入C 中的文件?

如何正确地将字符串写入C 中的文件?

DDD
DDD原创
2024-11-26 15:27:10687浏览

How Can I Correctly Write Strings to Files in C  ?

在 C 中将字符串写入文件

以字符串形式处理用户输入时,通常希望将它们写入文件进行存储。但是,尝试使用 ofstream 的 write() 方法执行此操作可能会导致意外结果。

std::string 和文件写入

重要的是要了解 std::string 是一种复杂的数据结构,在内部存储字符串的值及其长度。当将 write() 与 std::string 一起使用时,它实际上将此内部表示写入文件。打开文件时,此二进制数据不太可能正确显示为文本。

对文本文件使用 ofstream

要将纯文本写入文件,建议的方法是使用 ofstream 对象,其作用类似于用于写入文件的 std::cout。以下代码示例说明了这种方法:

#include <fstream>
#include <iostream>

int main() {
    std::string studentName;
    std::cout << "Enter your name: ";
    std::cin >> studentName;

    std::ofstream outFile("output.txt");
    outFile << studentName;
    outFile.close();

    return 0;
}

将二进制数据写入文件

如果您需要编写字符串的实际二进制表示形式,而不是其明文值,您可以使用string::c_str() 检索指向原始数据的指针及其 write() 的长度。以下代码片段演示了这一点:

write.write(studentPassword.c_str(), studentPassword.size());

通过使用这些技术,您可以根据您的具体要求有效地将纯文本字符串和二进制数据写入文件。

以上是如何正确地将字符串写入C 中的文件?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn