0
我正在编写一个程序,我需要获得用户输入的程序名和最多2个参数,然后执行所述程序。我的问题是处理用户输入并将其与一个“./”字符串连接起来,因为程序将从给定目录执行。到目前为止我尝试过的是这样的。Concat用户输入到一个str中的C
int main(int argc, char *argv[])){
int counter = 0;
char input[80];
char ProgramName[80];
printf("Enter program name and any parameters: ");
fgets(input, 80, stdin);
while(!isspace(input[counter])){
ProgramName[counter] = input[counter];
counter++;
}
}
我用isspace为检查的空白,当我遇到它,我知道,一个放慢参数如下,这是程序名的末尾。我的问题是,我该如何将程序名称连接到./而没有任何额外的尾部空白字符或任何不会导致其正确执行的内容?我尝试过使用strcpy和strcat,但是当我这样做时,我在命令窗口中遇到了一堆奇怪的结尾字符。
fscanf似乎适用于C – sehe
'scanf'永远不适合。 – melpomene
在上面的程序中,你希望添加'。/'?事实上,该字符串不会出现在您显示的代码中的任何位置。否则,它看起来不完全错误。 – 5gon12eder