// test.cpp #include <conio.h> #include <stdio.h> #include <iostream> using namespace std; #include "unicode\ucnv.h" void main() { FILE* p = fopen("euc.txt", "rt"); string s; char c = fgetc(p); while(c!=EOF) { s += c; c = fgetc(p); } fclose(p); cout<<"変更しようとする文字列(EUC)は:"<<s.c_str()<<endl; UChar* ub = new UChar[s.length()]; char* cb = new char[s.length()*4]; UErrorCode err; UConverter* conv = ucnv_open("euc_jp", &err); int len = ucnv_toUChars(conv, ub, s.length(), s.c_str(), s.length(), &err); ucnv_close(conv); conv = ucnv_open("shift_jis", &err); len = ucnv_fromUChars(conv, cb, s.length()*4, ub, len, &err); ucnv_close(conv); cout<<"変更した文字列(SHIFT_JIS)は:"<<cb<<endl; delete[] ub; delete[] cb; getch(); }