|
BUG提交
IDE版本: |
2025-01-05 |
操作系统: |
win11 64 |
是否可复现: |
必现 |
简短说明: |
复制粘贴没问题,改下文本内容就自动空格了!! |
#include <windows.h>
#include <string>
#include <iostream>
int main() {
// 要写入的UTF-8编码字符串
std::string text = u8"这是一个测试字符串,包含中文字符。";
// 打开文件以写入(如果文件不存在则创建)
HANDLE hFile = CreateFile(
L"output.txt", // 文件名
GENERIC_WRITE, // 写入权限
0, // 不共享
NULL, // 默认安全属性
CREATE_ALWAYS, // 如果文件不存在则创建,如果存在则覆盖
FILE_ATTRIBUTE_NORMAL, // 默认文件属性
NULL); // 无模板文件
// 检查文件是否成功打开
if (hFile == INVALID_HANDLE_VALUE) {
std::cerr << "无法打开文件以写入。" << std::endl;
return 1;
}
// 写入UTF-8编码的字符串到文件
DWORD bytesWritten;
BOOL result = WriteFile(
hFile, // 文件句柄
text.c_str(), // 要写入的字节序列
text.size(), // 字节序列的长度
&bytesWritten, // 接收实际写入的字节数的变量
NULL); // 不使用重叠I/O
// 检查写入是否成功
if (!result) {
std::cerr << "写入文件时出错。" << std::endl;
CloseHandle(hFile); // 关闭文件句柄
return 1;
}
// 关闭文件句柄
CloseHandle(hFile);
std::cout << "字符串已写入文件。" << std::endl;
return 0;
} |
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|