私はconcatsomm文字列にしようと私のサーバー上のexpextスクリプトを呼び出すが、イム.netプログラマーとCとポインタの新しいので、ここで間違っている?どのように文字列concatとchar呼び出しのシステムを呼び出す
またはもっとよく質問してください。どうすれば本当にこれを行うべきですか?
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
//location of expect script that ssh and gets info on other server
char str0[] = "./home/systemio/Develop/getfile ";
char* strP = argv[1];
char str1 = (char)*strP;
char str2[] = " > file.txt";
strcat(str0,str1);
strcat(str0,str2);
printf("%s\n", str0);
system(str0);
printf("Done!!!!\n");
return 0;
}
なぜARGV [1] [0]だけでなく、argvを[1]? – systemio
彼は文字列全体ではなく、argv [1]の最初の文字だけをとるためです。 (%sの代わりに%cを見てください) –
@systemio私の答えを更新しました。ポインタについてもう少し詳しくお読みください。また、 '* pointer'の式の行は何ですか? –