4

私はこれと同じくらい簡単なことをしようとしています:

#include <iostream>
#include <string>
using namespace std;

int main()
{
    wstring nihongo = L"みんなのにほんご";
    wcout << nihongo << endl;
    return 0;
}

しかし、次のエラーが発生します。

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp|7|error: stray '\201' in program|

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp|7|error: stray '@' in program|

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp||In function 'int main()':|

C:\Users\Leonne\Leomedia\MetaDatterTest.cpp|7|error: converting to execution character set: Illegal byte sequence|

||=== Build finished: 3 errors, 0 warnings ===|

私はWindowsマシンを使用しており、可能な限り移植性の高いライブラリを作成しようとしています。ロシア語、日本語、ASCIIなど、あらゆる種類の文字を処理できる必要があります。

4

2 に答える 2

3

Visual Studioは、Unicodeソースファイルをサポートしています。cppファイルがBOMを使用してutf16またはutf8形式のファイルに保存されていることを確認してください。その形式になると、ファイルは正常にコンパイルされます。

于 2011-12-17T19:20:56.260 に答える
1

この質問の最初の答えを確認してください:

std :: wstring VS std :: string

そしてこれに関する私の答え:

C++でのUTF-8の処理

私はあなたがあなたの質問に対する答えをそこに見つけると信じています。文字コードの問題は少し紛らわしいものであり、簡単な答えはありません...

于 2011-12-17T19:25:43.890 に答える