아래 코드는 파일 조작이 이고 코드 작업이입니다.리눅스 컴파일러에서 C 코드가 작동하지 않습니다.
첫 번째 프로그램은 파일을 읽고 사용자가 파일에서 원하는 질문을 묻는 후 해당 프로그램을 배열에 저장합니다. 사용자가 입력하면 "2"프로그램은 파일에서 두 번째 질문을하고 (파일에서 2와 3 사이의 모든 문자를 가져 와서) 화면에 인쇄합니다.
이 코드는 Windows의 DEV C++ 컴파일러에 작성했습니다. Dev C++에서 작동합니다.
그러나 리눅스 터미널에서이 코드를 시도하면 코드는 사용자에게 정수를 묻습니다. 그러나 파일의 결과를 화면에 출력하지 않습니다. 오류가 발생하지 않으며 프로그램이 종료됩니다 ().
FILE* file = fopen("txt", "r");
char line[256];
char a[10][14];
char getIndex[2];
char firstIndex[2];
char secondIndex[2];
int firstIndexNum;
int secondIndexNum;
printf("Please enter number:");
fgets (getIndex, 100, stdin);
strcpy(firstIndex,getIndex);
firstIndexNum = atoi(firstIndex);
secondIndexNum = firstIndexNum + 1;
sprintf(secondIndex, "%d", secondIndexNum);
int i = 0;
while (fgets(line, sizeof(line), file)) {
strcpy(a[i],line);
i++;
}
int sizeArray = sizeof(a)/sizeof(a[0]);
for(int i=1;i<=sizeArray;i++){
if(strstr(a[i-1], firstIndex) != NULL){
while(strstr(a[i], secondIndex) == NULL){
printf("%s",a[i]);
i++;
}
}
}
fclose(file);
return 0;
}
어떤 제안이?
Linux에서 프로그램이 어떻게 진행됩니까? –