一个程序看fputc和fgetc
生活随笔
收集整理的這篇文章主要介紹了
一个程序看fputc和fgetc
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在文章的開始,我們先來學習一下gatchar函數。
getchar:本意出入一個字符,只能輸入一個字符,這點很重要。
fputc:把字符寫到對應的文件中,注意這里是字符。
fgetc:輸入一個字符,說白了就是讀取一個字符
#include<stdio.h> #include<stdlib.h>int main() {char ch,ch1;FILE *fp;if((fp=fopen("a.txt","w"))=NULL){printf("error");exit(0);}ch=getchar();//用來接收最后的換行符ch=getchar();//讀取while(ch!='#'){fputc(ch,fp);putchar(ch);ch=getchar();//沒有這個將一直打印第一個字符}fclose(fp);fp=fopen("a.txt","r");while(!feof(fp)){ch1=fgetc(fp);putchar(ch1);}fclose(fp); }下面我來講一下我對程序的理解:首先讀入一個字符,并打印出這個字符,然后判斷,用fputs函數將一個字符輸入到文件中,然后在通過putchar輸出這個字符,然后在等待一次輸入。還有一個很有趣的情況:當我們一次行輸入不指一個字符時,又發生了什么情況呢?
當輸入:abc時,getchar函數只接受一個字符的輸入,我們用printf函數可以查看到效果,只打印出a,然后執行后面的程序,再打印出a,b,c.其實是這樣的,abc值存在鍵盤的緩沖器中,敲一次回車只進去了一個字符,進入循環后再逐個讀取字符,然后在打印出。所以,你在輸入abc時,按下回車馬上打印abc。
關于getchar那里的注釋解釋:首先接收的是第一個字符,如果沒有這段輸入代碼,則while一直循環(沒有遇到#啊),一直打印文件中的內容,而文件只有剛輸入的第一個字符,則一直打印第一個字符。
總結
以上是生活随笔為你收集整理的一个程序看fputc和fgetc的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 初识链表
- 下一篇: 再探文件输入和输出函数