#include <iostream>
#include <fstream>
#include <windows.h>
using namespace std;
int main()
{
FILE* fp ;
WCHAR wchar[5] = L"相等相等"; //定义一个宽字节的变量,初始为"相等"
fp = fopen("1.txt", "w+"); //打开文件称奥做
fwprintf(fp, L"%s\n", wchar); //输出到文件
fclose(fp); //关闭文件
WCHAR wc2[5]; //定义第二个宽字节变量
//wc开始的有很多宽字节的操作。都和str相对应。
wcscpy(wc2, wchar); //复制。
int n = wcscmp(wc2, wchar); //比较
if (n == 0)
{
wprintf(L"相等\n"); //这里是否注意到没有wprintf有问题的。
}
char str[10]; //定义char字符。
n = wcstombs(str, wc2, 9); //宽字节转换为muiltychar
printf("%s\n", str); //输出结果
for (int i = 0; i < 5; ++i)
{
wc2[i] = L'1' + i;
}
wc2[4] = 0;
n = wcstombs(str, wc2, 9); //宽字节转换为muiltychar
printf("%s\n", str); //输出结果
//另外的方式转换
n = WideCharToMultiByte(CP_ACP, NULL, wchar, wcslen(wchar) + 1, str, 10, 0, 0);
printf("%s\n", str);
char str2[10] = "加一";
WCHAR wc3[10];
n = MultiByteToWideChar(CP_ACP, NULL, str2, strlen(str2) + 1, wc3, 10); //char到宽字节。
system("pause");
return 0;
}
#include <fstream>
#include <windows.h>
using namespace std;
int main()
{
FILE* fp ;
WCHAR wchar[5] = L"相等相等"; //定义一个宽字节的变量,初始为"相等"
fp = fopen("1.txt", "w+"); //打开文件称奥做
fwprintf(fp, L"%s\n", wchar); //输出到文件
fclose(fp); //关闭文件
WCHAR wc2[5]; //定义第二个宽字节变量
//wc开始的有很多宽字节的操作。都和str相对应。
wcscpy(wc2, wchar); //复制。
int n = wcscmp(wc2, wchar); //比较
if (n == 0)
{
wprintf(L"相等\n"); //这里是否注意到没有wprintf有问题的。
}
char str[10]; //定义char字符。
n = wcstombs(str, wc2, 9); //宽字节转换为muiltychar
printf("%s\n", str); //输出结果
for (int i = 0; i < 5; ++i)
{
wc2[i] = L'1' + i;
}
wc2[4] = 0;
n = wcstombs(str, wc2, 9); //宽字节转换为muiltychar
printf("%s\n", str); //输出结果
//另外的方式转换
n = WideCharToMultiByte(CP_ACP, NULL, wchar, wcslen(wchar) + 1, str, 10, 0, 0);
printf("%s\n", str);
char str2[10] = "加一";
WCHAR wc3[10];
n = MultiByteToWideChar(CP_ACP, NULL, str2, strlen(str2) + 1, wc3, 10); //char到宽字节。
system("pause");
return 0;
}