포럼을 검색 했으므로이 문제에 대한 답을 찾을 수 없습니다. 공통적 인 것으로 보이지만 언급 된 수정 사항 중 어느 것도 적용 가능하지 않습니다.fopen이 C에서 잘못된 인수를 반환합니다.
는이 파일을 열기위한 내 코드입니다 :
#include <stdio.h>
#include <string.h>
void main() {
FILE *input;
char path[200];
printf("Enter the full file path and file name in the following format:"
"\nC:\\Users\\Username\\etc......\\filename.extension\n");
fgets(path, 200, stdin);
printf("%s",path);
input=fopen(path,"r");
if (input==NULL) {
perror("The following errors were encountered");
return(-1);
}
}
printf(%s,path)
이 제대로 나는 열려는 파일의 경로와 이름을 표시하지만 FOPEN 항상 잘못된 인수를 반환합니다. 나는 또한 fopen에서 경로에 포인터를 사용하여 시도했지만,이 항상 프로그램이 충돌합니다.
'path'에 후행 줄 바꿈 문자가 포함되어 있기 때문입니다 ... – isedev
BTW :'void main'이 좋지 않습니다. 대신'int main'을 사용하십시오. 또한'return'은 함수가 아니므로 인수를 둘러싼 괄호가 필요합니다. – Deduplicator
부가 메모 : main이 void로 선언되면 값 '-1'이 반환됩니다. 그러지 마. main을 int로 선언하고 모든 코드 경로에서 무엇인가를 반환합니다. 그것은 심각한 오류가 아니지만 나쁜 스타일입니다. – jpw