먼저 쓰기 모드에서 파일을 엽니다. 나중에 EOF(파일 끝)에 도달할 때까지 텍스트를 입력합니다. 즉, ctrlZ를 눌러 파일을 닫습니다.
다시 읽기 모드에서 엽니다. 그런 다음 파일에서 단어를 읽고 각 단어를 별도의 줄에 인쇄하고 파일을 닫습니다.
한 줄에 한 단어를 인쇄하기 위해 구현한 논리는 다음과 같습니다. -
while ((ch=getc(fp))!=EOF){ if(fp){ char word[100]; while(fscanf(fp,"%s",word)!=EOF) // read words from file{ printf("%s\n", word); // print each word on separate lines. } fclose(fp); // close file. } }
예시
다음은 한 줄에 한 단어씩 전체 텍스트를 표시하는 C 프로그램입니다. -
#include<stdio.h> int main(){ char ch; FILE *fp; fp=fopen("file.txt","w"); //open the file in write mode printf("enter the text then press cntrl Z:\n"); while((ch = getchar())!=EOF){ putc(ch,fp); } fclose(fp); fp=fopen("file.txt","r"); printf("text on the file:\n"); while ((ch=getc(fp))!=EOF){ if(fp){ char word[100]; while(fscanf(fp,"%s",word)!=EOF) // read words from file{ printf("%s\n", word); // print each word on separate lines. } fclose(fp); // close file. } Else{ printf("file doesnot exist"); // then tells the user that the file does not exist. } } return 0; }
출력
위의 프로그램이 실행되면 다음과 같은 결과가 생성됩니다 -
enter the text then press ctrl Z: Hi Hello Welcome To My World ^Z text on the file: Hi Hello Welcome To My World