|
fopen()でファイルを作成すると文字化けしないことがわかりました。
結局、
・ostream open() 「あ.txt」というファイル名が文字化け
・fopen() 「い.txt」というファイル名を正常に作成できた
ということがわかりました。
この挙動の差は、なぜなのでしょうか?
ofstreamのopen()で全角ファイル名で文字化けしない方法が教えて頂けないでしょうか。
よろしくお願い致します。
---以下ソースコード---
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main()
{
std::string str = "あ.txt";
ofstream ofs;
ofs.open(str.c_str());
if (!ofs)
{
cerr << "Error" << endl;
}
str = "い.txt";
FILE* fp = fopen(str.c_str(), "wb");
if (fp == NULL)
{
cerr << "Error" << endl;
}
fclose(fp);
return 0;
}
|