저는 Uni에서 공부하는 초급 프로그래머입니다. 그 순간. 숙제 : 텍스트 기반 어드벤처 게임을 작성하십시오 (프로그래밍 연구 2 개월 미만 : /).C - 파일의 텍스트/문장을 문자열 배열로 읽어들입니다.
선생님은 게임에서 사용하는 텍스트가 파일에 저장되어야한다고 말했습니다. 처음에는 프로그램에서 해당 파일의 "모든 텍스트"를 읽은 다음 프로그램에서 문자열의 텍스트를 사용해야합니다 (필자는 짐작합니다).
첫 번째 생각은 1 문장으로 1 문장을 읽지 만, 문장에는 단어 사이에 공백이 있기 때문에 운동하지 않으려 고했지만 읽으려고 할 때 프로그램을 읽을 때 공백이 있으면 동일한 단어 대신 다른 문자열에 단어를 저장합니다.
예를 들면 다음과 같습니다. 내 txt 파일에 4 줄이 있습니다. 줄 1 : 어떤 방법으로 가야합니까? 2 호선 : 앞으로 3 호선 : 왼쪽 행 4 : 마우스 오른쪽
는 내가 4 개 스트링의 텍스트를 읽을 때, 다음 LINE 1, 두 번째의 LINE 2 등 첫 번째 문자열에있을 것입니다 생각 하지만 어떻게 된거 야? '어느 쪽'이 첫 번째 문자열에 있었는지, "way"는 두 번째 문자열에있었습니다.잘못된 설명을 드려 죄송합니다. 내 문제가 무엇인지 이해하길 바랍니다. 어떻게 첫 번째 문자열로만 Line 1을 읽을 수 있습니까?
char decisions[4][200];
FILE *fp;
fp=fopen("text.txt", "r");
fscanf(fp, "%s %s %s %s", &decisions[0], &decisions[1], &decisions[2], &decisions[3]);
fclose(fp);
printf("%s\n %s\n %s\n %s\n", decisions[0], decisions[1], decisions[2], decisions[3]);
: 나는이이 "오류"를 일으키는 내 코드입니다
.. "그래, 나는 새로운 문자열로이 공간 후에 단어를 넣어한다"로 프로그램이 공간을 계산하지 않습니다 생각
결정 [0]은 내 txt 파일의 첫 번째 줄에서 질문을 읽어야하고 다른 3자는 3 chosing 옵션을 가져야합니다. 나는이 일이하고 싶은 그게 문제 :
'fgets()'를보세요. – EOF
나는 그것으로 볼 것이다, 제안을위한 감사합니다! – Noxter