Когда я тестировал свою программу, она всегда повторяет -1.Сначала я набираю текстовый файл, и он правильно читает текст, поэтому моя проблема в том, что я не могу заставить execvp работать.Какую документацию мне нужно написать в функции execvp, чтобы она заработала.Может кто-нибудь объяснить, почему эта программа не работает.
int morph(char* number);
void main(int argc,char *argv[]) {
FILE *fileName = NULL;
char numberFromFile[MAX_STRING] = "";
// TODO: add work also goes in this function.
// check the number of command line parmeters
// if incorrect number print message and exits
if (argc < 2) {
printf("usage %s filename \n",argv[0]);
printf("2 \n");
} else {
// check if file exists
fileName = fopen(argv[1], "r");
if (fileName == NULL) {
printf("file %s does not exits \n", argv[0]);
printf("3 \n");
} else {
int number = 0;
fscanf(fileName, "%s", numberFromFile);
//printf("%s \n",numberFromFile);
//strcpy(numberFromFile, "1233");
number = morph(numberFromFile);
printf("%d \n",number);
//}
} }
int morph(char *number) {
unsigned int intNumber = 0;
int checkIfPrime = 0;
checkIfPrime = execvp("/Documents/assignment_4/isPrime",&number);
printf("%d\n",checkIfPrime);
if (checkIfPrime == 1) {
return 1;
} else {
return 0;
} }