引数を使用してスクリプトを呼び出す文字列を作成しようとしていますが、引数の1つがファイルから読み取られますが、ラインシフトが取得され、出力は次のようになります
/home/glennwiz/develop/c/SnuPort/ExpGetConfig.sh xogs1a 3/37
> lastConfig.txt
3/37 と > lastConfig を同じ行に配置したい。
これは私のコードです。
char getConfig[100] = "/home/glennwiz/develop/c/SnuPort/ExpGetConfig.sh ";
char filedumpto[50] = " > lastConfig.txt";
FILE* file = fopen("rport.txt","r");
if(file == NULL)
{
return NULL;
}
fseek(file, 0, SEEK_END);
long int size = ftell(file);
rewind(file);
char* port = calloc(size, 1);
fread(port,1,size,file);
strcat(getConfig, argv[1]);
strcat(getConfig, port);
strcat(getConfig, filedumpto);
printf(getConfig);
//system(getConfig);
return 0;
編集
出力をファイルにダンプし、vim で開いて確認したところ、変数の後に ^M が送信されました。なぜこれを行うのかivはこの投稿の下で解決策を試しましたが、うまくいきません。
tester port print!!!!
/home/glennwiz/develop/c/SnuPort/ExpGetConfig.sh randa1ar2 5/48^M
> SisteConfig.txt
tester port print!!!!