c++ 用 fopen_s 和fwrite 创建文件并写入文件
时间: 2024-10-07 16:05:24 浏览: 78
在C++中,`fopen_s`函数是安全版本的文件打开函数,它比标准的`fopen`更安全,因为它会检查文件是否成功打开,并返回`NULL`或抛出异常如果失败。`fwrite`函数则用于向已打开的文件写入数据。
下面是一个简单的例子,展示如何使用`fopen_s`和`fwrite`创建文件并写入文本:
```cpp
#include <stdio.h>
#include <string>
int main() {
// 定义要写入的数据和文件名
std::string data = "Hello, World!";
const char* filename = "test.txt";
// 使用fopen_s尝试打开文件,"wb"表示二进制模式下追加写入
FILE* file;
if (fopen_s(&file, filename, "wb") != 0) {
// 处理文件打开失败的情况
perror("Failed to open file");
return 1;
}
// 使用fwrite写入数据到文件
size_t written = fwrite(data.c_str(), 1, data.size(), file);
// 检查写入是否成功
if (written != data.size()) {
perror("Failed to write to file");
fclose(file); // 关闭文件
return 1;
}
// 文件写入完成后关闭文件
fclose(file);
printf("Data written successfully.\n");
return 0;
}
```
在这个示例中,我们首先声明了一个字符串`data`,然后试图以追加写入的方式打开`filename`文件。如果文件打开成功,我们就使用`fwrite`将数据逐字节写入文件。最后记得关闭文件以释放资源。
阅读全文