Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 运行';iconv';用于在C+;中作为函数参数传递的文件的命令+;应用_C++_String_Io - Fatal编程技术网

C++ 运行';iconv';用于在C+;中作为函数参数传递的文件的命令+;应用

C++ 运行';iconv';用于在C+;中作为函数参数传递的文件的命令+;应用,c++,string,io,C++,String,Io,我正在尝试将Windows文件(CP1252格式)转换为Linux应用程序的UTF-8格式。 我想运行下面的命令作为我的C++应用程序的一部分: iconv-f CP1252-t UTF-8 file.ldf | dos2unix>out.ldf 文件名file.ldf将作为参数传递给main() 例如 intmain(intargc,char*argv[]) { 字符串FileName=“无效”; 如果(argc==2){ FileName=argv[1]; 系统(“iconv-f CP125

我正在尝试将Windows文件(CP1252格式)转换为Linux应用程序的UTF-8格式。 我想运行下面的命令作为我的C++应用程序的一部分:

iconv-f CP1252-t UTF-8 file.ldf | dos2unix>out.ldf

文件名
file.ldf
将作为参数传递给
main()

例如

intmain(intargc,char*argv[])
{
字符串FileName=“无效”;
如果(argc==2){
FileName=argv[1];
系统(“iconv-f CP1252-t UTF-8 file.ldf | dos2unix>out.ldf”);
//对文件进行进一步分析
}
其他的
不能改变这一点:

system("iconv -f CP1252 -t UTF-8 file.ldf |dos2unix > out.ldf");
为此:

system("iconv -f CP1252 -t UTF-8 " + FileName + " |dos2unix > out.ldf");

在这里,我使用重载的
++
运算符进行字符串连接。

您知道可以使用
++
运算符附加字符串吗?例如
“iconv-f CP1252-t UTF-8”+FileName+“| dos2unix>out.ldf”
aargh!!我现在意识到这确实是一个愚蠢的问题(
system("iconv -f CP1252 -t UTF-8 " + FileName + " |dos2unix > out.ldf");