C語言fputc() 和 fputs() 之間的區別

上篇文章我們講解了C語言中fgetc()、fgets()之間的區別

接下來我在來講解下fputc() 和 fputs() 之間的區別

1.fputc 是 file output char 的所以,意思是向指定的文件中寫入一個字符。

fputc() 的用法爲:

int fputc ( int ch, FILE *fp );

ch 爲要寫入的字符,fp 爲文件指針。fputc() 寫入成功時返回寫入的字符,失敗時返回 EOF,返回值類型爲 int 也是爲了容納這個負數。例如:  fputc('a', fp);  或者:char ch = 'a'; fputc(ch, fp);

表示把字符 'a' 寫入fp所指向的文件中。

兩點說明

1) 被寫入的文件可以用寫、讀寫、追加方式打開,用寫或讀寫方式打開一個已存在的文件時將清除原有的文件內容,並將寫入的字符放在文件開頭。如需保留原有文件內容,並把寫入的字符放在文件末尾,就必須以追加方式打開文件。不管以何種方式打開,被寫入的文件若不存在時則創建該文件。
2) 每寫入一個字符,文件內部位置指針向後移動一個字節。

#include<stdio.h>
int main(){
    FILE *fp;
    char ch;
    //判斷文件是否成功打開
    if( (fp=fopen("D:\\demo.txt","wt+")) == NULL ){
        puts("Fail to open file!");
        exit(0);
    }
    printf("Input a string:\n");
    //每次從鍵盤讀取一個字符並寫入文件
    while ( (ch=getchar()) != '\n' ){
        fputc(ch,fp);
    }
    fclose(fp);
    return 0;
}

2.fputs() 函數用來向指定的文件寫入一個字符串,它的用法爲:

int fputs( char *str, FILE *fp );

str 爲要寫入的字符串,fp 爲文件指針。寫入成功返回非負數,失敗返回 EOF。例如:

char *str = "http://c.biancheng.net";
FILE *fp = fopen("D:\\demo.txt", "at+");
fputs(str, fp);

表示把把字符串 str 寫入到 D:\\demo.txt 文件中。

【示例】向上例中建立的 d:\\demo.txt 文件中追加一個字符串。

#include<stdio.h>
int main(){
    FILE *fp;
    char str[102] = {0}, strTemp[100];
    if( (fp=fopen("D:\\demo.txt", "at+")) == NULL ){
        puts("Fail to open file!");
        exit(0);
    }
    printf("Input a string:");
    gets(strTemp);
    strcat(str, "\n");
    strcat(str, strTemp);
    fputs(str, fp);
    fclose(fp);
    return 0;
}

運行程序,輸入C++ Java Linux Shell,打開 D:\\demo.txt,文件內容爲:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章