すべての行の先頭に<item>
を追加し、すべての行の末尾に</item >
を追加するはずのC++プロジェクトがあります。これは正常な英語のテキストでうまく動作しますが、私はこれをやりたい中国語のテキストファイルを持っていますが、動作しません。私は通常.txtファイルを使用しますが、このためには.rtfを使用して中国語のテキストを保存する必要があります。私のコードを実行した後、それは不器用になります。ここに例があります。C++テキストファイル、中国語
{\ RTF1 \ adeflang1025 \ ANSI \ ansicpg1252 \ UC1 \ adeff31507 \ deff0 \ stshfdbch31506 \ stshfloch31506 \ stshfhich31506 \ stshfbi31507 \ deflang1033 \ deflangfe1033 \ themelang1033 \ themelangfe0 \ themelangcs0 {\ fonttbl {\ F2 \ fbidi \ fmodern \ fcharset0の\のfprq1クーリエ 新しい{* \ 02070309020205020404パノース};}
コード:
int main()
{
ifstream in;
ofstream out;
string lineT, newlineT;
in.open("rawquote.rtf");
if(in.fail())
exit(1);
out.open("itemisedQuote.rtf");
do
{
getline(in,lineT,'\n');
newlineT += "<item>";
newlineT += lineT;
newlineT += "</item>";
if (lineT.length() >5)
{
out<<newlineT<<'\n';
}
newlineT = "";
lineT = "";
} while(!in.eof());
return 0;
}
rawquote.rtf入力ファイルをテキストのみのモードで表示し、実際に何が含まれているかを確認します。 – aschepler
バックスティックを使用して次のようにコードをエスケープします: ''- '' –
RTF要件は顧客からのものか、プレーンテキスト文書で問題があったための独自の要件ですか?正しいエンコードを使用している限り、漢字をテキスト文書に出力することはできません。 –