2
Linuxアプリケーション用のWindowsファイル(CP1252形式)をUTF-8形式に変換しようとしています。C++アプリケーションで関数引数として渡されたファイルの 'iconv'コマンドを実行しています
iconv -f CP1252 -t UTF-8 file.ldf |dos2unix > out.ldf
file.ldf
がmain()
に引数として渡されるファイル名: 私はC++アプリケーションの一部として、次のコマンドを実行します。
例えば、
int main (int argc, char* argv[])
{
string FileName = "Invalid";
if (argc == 2) {
FileName = argv[1];
system("iconv -f CP1252 -t UTF-8 file.ldf |dos2unix > out.ldf");
//do further parsing on file
}
else
cout << "ERROR:: invalid number of arguments"<< endl;
return 0;
}
私は現在直面しています問題はsystem
APIを使用して実行するコマンドの一部として入ってくるfilename
を渡すことです。
この問題に対処できる他の方法はありますか?
あなたは '+'演算子を使って文字列を追加できますか?例えばのように。 '' iconv -f CP1252 -t UTF-8 "+ FileName +" | dos2unix> out.ldf " –
aargh !!私は今、それが本当に愚かな質問だと分かります。 :( – user3098732