나는 텍스트 파일을 열고 단어 수를 계산하고 파일을 닫는 단어 수 계산 기능을 사용하고 있습니다. 다음에는 동일한 파일을 다시 열어 배열의 단어 개수 제한 값이있는 배열에 저장합니다.C 프로그래밍. 텍스트 파일 작업을 위해 fopen fclose 사용하기
여기서 1 번과 16 번처럼 fopen과 fclose를 한 번 사용하면 프로그램이 작동하지 않습니다. 그러나 만약 내가 그것을 열면 (1 행) 프로세스가 닫히고 (10 행) 닫히고 두 번째 프로세스를 위해 다시 열립니다 (12 행). fopen은 한 번에 하나의 프로세스 만 처리 할 수 있으며 두 번째 프로세스에서 다시 열어야한다는 의미입니까?
1. fptrr = fopen(fname,"r"); // open the text file in read mode
2.
3. if (fptrr == NULL) {//if file name does not match
4. printf("Error: No such file or directory");
5. return -1;
6. }
7.
8. wordCount += countWords(fptrr); //run word count function and get the value of total words
9.
10. fclose(fptrr); // close the file
11.
12. fptrr = fopen(fname,"r");
13. for(int i=0;i<wordCount;i++){ // define size of loop equal to words in a file
14. fscanf(fptrr, "%s", fileArray[i]); //scan and store in array
15. }
16. fclose(fptrr);
여기서'countWords() '의 정의는 무엇입니까? – Steve
파일을 처음으로 읽은 후에는 다시 파일을 처리하기 위해 파일의 처음으로 돌아가려면'fseek'를 사용해야합니다. 한 프로세스 만 처리하는 fopen에 관한 질문은 매우 혼란 스럽습니다. 명확히 해 주시겠습니까? – AntonH
또는 [되감기] (http://en.cppreference.com/w/c/io/rewind)를 사용하십시오. – BLUEPIXY