Я пытаюсь проанализировать аргумент командной строки из одной функции process_command_line
, которую я затем буду использовать в функции main
.Второй аргумент командной строки позволяет вводить имя входного файла, который позже будет использоваться для чтения / записи файлов.В настоящее время я просто распечатаю аргумент в функции main
, чтобы убедиться, что она работает правильно.У меня не было проблем с синтаксическим анализом целых чисел с помощью этого отдельного метода функции, но я не могу получить правильный вывод при попытке проанализировать input
имя файла.
РЕДАКТИРОВАТЬ : я думаю, что моя проблема заключается во второй функции, где у меня есть строка с надписью argv[1] = input_file;
Моя попытка:
#include <stdio.h>
#include <stdlib.h>
int process_command_line(int argc, char *argv[]); //declaration for command-line function
char str2[100];
int main(int argc, char *argv[]) {
printf("%s", str2);
getchar();
return 0;
}
//This function reads in the arguments
int process_command_line(int argc, char *argv[]) {
if (argc < 2) {
fprintf(stderr, "Error: Missing program arguments.\n");
exit(1);
}
//first argument is always the executable name (argv[0])
//second argument reads in the input file name
strcpy(str2, argv[1]); //I think this is where the problem lies
}