저는 C 프로그래밍에 다소 익숙합니다 ... 사용자 이름과 텍스트 파일에서 사용자 이름을 읽으려고합니다 ... 첫 번째 파일 작동하지만 텍스트 파일을 읽고 "user_name"에 저장하면 세그먼트 화 오류가 발생합니다. 여기서 뭐가 잘못 됐니?C에서 문자열로 텍스트 파일을 읽는 중 세그먼트 오류가 발생했습니다
char user_in[10];
char user_name[10];
scanf("%s",user_in);
FILE *users_file;
users_file=fopen("users.txt","r");
fscanf(users_file,"%s",user_name);// segmentation error
(EDITED) : 이 파일이 (내가 그것을 테스트 한) 존재한다. 첫 번째 내용은 공백이 오는 5 자 긴 문자열입니다.
Sarah Mary Sally
: 다른 사람이 말했듯이
또한, 성공적으로 파일을 열어 확인? 새로운 라인이나 다른 공백 문자 앞에 첫 줄이 9 자보다 길면 끝 부분에 널 종료 자'\ 0'을 넣을 때 버퍼 끝에서 계속 실행됩니다. –
파일이 있습니까? fopen이 성공했는지 확인 했습니까? – Mysticial
너무 빨리 데이터 파일을 proivde - 빠른 추측은 9 바이트에 맞는 것입니다. –