c++ 把char * 写入到文件中
时间: 2024-09-27 17:03:28 浏览: 46
C++写入文本文件 很全面的
4星 · 用户满意度95%
在 C++ 中,将 `char*` 类型的数据写入文件通常涉及到使用文件流 (fstream) 或者是 C 风格的文件操作。以下是两种常见的方法:
**使用 fstream (推荐)**
```cpp
#include <fstream>
#include <cstring>
void writeStringToFile(const char* str, const std::string& filePath) {
std::ofstream file(filePath);
if (file.is_open()) {
file.write(str, strlen(str)); // 使用 strlen 计算字符串长度,避免溢出
file.close();
} else {
std::cerr << "Failed to open the file." << std::endl;
}
}
// 调用示例
const char* myString = "Hello, World!";
writeStringToFile(myString, "output.txt");
```
**使用 C 风格文件操作 (旧式)**
```cpp
#include <cstdio> // 包含 fputc 函数
void writeStringToFileOldSchool(const char* str, const char* fileName) {
FILE* file = fopen(fileName, "w"); // 打开文件以写模式
if (file != nullptr) {
while (*str != '\0') { // 遍历字符串直到遇到 null 结尾
fputc(*str++, file); // 将字符逐个写入文件
}
fclose(file); // 关闭文件
} else {
perror("Failed to open the file.");
}
}
// 调用示例
const char* myString = "Hello, Old School!";
writeStringToFileOldSchool(myString, "output.txt");
```
在写入完成后,别忘了检查文件是否成功打开以及是否有错误发生。在处理完数据后记得关闭文件。
阅读全文