Я пишу программу, где мне нужно получить пользовательский ввод имени программы и до 2 параметров, а затем выполнить указанную программу. Моя проблема связана с вводом пользовательского ввода и согласованием его с строкой «./», которую программа будет выполнять из данного каталога. То, к чему я до сих пор пытался работать, это.Конкат пользовательский ввод на строку в 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