C語(yǔ)言操作文件(jian)主要包括打開(kāi)文件、語(yǔ)言操讀取文件、作文寫(xiě)入文件和關(guān)閉文件等操作,語(yǔ)言操下面將詳細介紹這些操作(zuo)的作文具體實(shí)現方法。
(圖片來(lái)源網(wǎng)絡(luò ),語(yǔ)言操侵刪)1、作文打(da)開(kāi)文件
在C語(yǔ)言中,語(yǔ)言操使用fopen函數來(lái)打開(kāi)一個(gè)文件。作文fopen函數的語(yǔ)言操原型如下:
FIL??E *fopen(const char *filename, const char *mode);
filename是要打開(kāi)的文件名,mode是作文文件打開(kāi)模式,如只讀、語(yǔ)言操寫(xiě)入、作??文追加等。語(yǔ)言操fopen函數返回一個(gè)指向FILE結構的作文指針,如果打開(kāi)失敗,語(yǔ)言操返回NULL。
以只讀模式打開(kāi)一個(gè)名為input.txt的文件:
#inc??lude <stdio.h>int main() { FILE *file = fopen("input.txt", &quoヽ(′ー`)ノt;r"); if (file == NULL) { printf("無(wú)法打開(kāi)文件!"); ret(′?`)urn 1; } // 其他操作... fclose(file); return 0;}2、讀取文件
在C語(yǔ)言中,可以使用不同的輸入函數來(lái)??讀取文件ヾ(^-^)ノ中的內容,常用的輸入函數有fgetc、fgets和fscanf等。
fg??etc函數用于讀取文件中的單個(gè)字符,其原型如下:
int fgetc(ヽ(′ー`)ノFILE *stream);
stream是指向要讀取的文件的指針。fgetc函數返回讀取到的字符,如果到達文件末尾或發(fā)生錯誤,返回EOF(1??)。
讀取一個(gè)名為input.txt的文(wen)件中的字符:
#include <stdio.h>int main() { FILE *file = fopen("input.txt", "r"); if (file == NULL) { printf("無(wú)法打開(kāi)文件!"); retu??rn 1; } int ch; while ((ch = fgetc(file)) != EOF) { put??char(ch); // 輸出字符 } fclose(file); return 0;}fgets函數用于讀取文件中的一行字符串,其原型如下:
char *fgets(char *str, int n, FILE *stream);str是一個(gè)字符數組,用于存儲讀取到的字符串;n是要讀取的最大字符數;stream是(shi)指向要讀取的文件的指針。fgets函數返回讀取到的字符串,如果到(′?ω?`)達文件末尾或發(fā)生錯誤,返回NULL。
讀取一個(gè)名為input.txt的文件中的一行字符串:
#include <stdio.h>#include <string.h>int main() { FILE *file = fopen("input.txt", "r"); if (file == NULL) { printf("無(wú)法打開(kāi)文件!"(′ω`);); return 1; } char line[100]; while (f(//ω//)gets(line, sizeof(line), file) != NULL) { printf("%s", line); // 輸出字符串 } fclose(file); return 0;}fscanf函數用于按照指定的格式讀取文件中的數據,其原型如ヽ(′▽?zhuān)?/下:
int fs??canf(FILE *stream, const char *format, ...);stream是指向要讀取的文件的指針;format是格式化字符串,用于指定數據的格式;后面的省略號表示可變參數列表,用于存儲讀取到的數據。fscanf函數返回成功匹配并賦值的參數個(gè)數,如果到達文件末尾或發(fā)生錯誤,返回??EOF(1)。
讀取一個(gè)名為input.txt的文件中的整(zheng)數和浮點(diǎn)數:
#include <stdio.h>#include <math.h(′?_?`)>#include <st(°□°)dbool.h>#include <stdarg.h>#inclヽ(′ー`)ノude <stdlib.h>#include <string.h>#inc(′?ω?`)lude <float.(???)h>#include <errno.h>#include <limits.h>#include &l(???)t;locale.h>#include <wchar.h>#inclu??de <wctype.h>#include <wchar.h>#include <(′?`*);time.h>#includ??e <sys/types.h>#include <sy??s/stat.h>#include <unistd.h>#include <dirent.h>#include <pwd.h>#include <grp.h>#include <shadow.h> // Linux系統下需要(yao)包含此頭文件,用于獲取用戶(hù)密碼信息(僅適用于Linux系統)#includ???e <termios.h> // Linux系統下需要包含此頭文件,用于設置終端屬性(僅適用于Linux系統)#include <si(???)gnal.h> // Linux系統下需要包含此頭文件,用于處理信號(僅適用于Linux系統)#include <setjmp.h> // Linux系統下需要包含此頭文件,用于處理非局部跳轉(僅適(???)用于Li??nux系統)#include <zlib.h> // Linuxヽ(′ー`)ノ系統下需要包含此??頭文件,用于壓縮和解壓縮數據(僅適用于Linux系統) #include <bヽ(′ー`)ノzlib.h> // Linux系統下需要包含此頭文件,用于壓縮和解壓縮數據(僅適用于Linux系統) #i??nclude <lzma.h> // Linux系統下需要包( ?▽?)含此頭文件,用于壓縮和解壓縮數據(ju)(僅適用于Linux系統) #include <sqlite3.h> // Linux系統下需要包含此頭文件,用于操作SQLite數據庫(僅適用于L??inux系統) #include <ope(′?`*)nssl/ssl.h> // Linux系統下需(′ω`)要包含此頭文件,用于(yu)處理SSL加密通信(僅適用于Linu(′ω`*)x系統) #include <open="open"ssl/err.h> // Linux系統下需要包含此頭文件,用于處理SSL錯誤(僅適用于Linux系(????)統) #include <open="open"ssl/b??io.hヽ(′ー`)ノ> // Linux系統下需要包含此頭文件,用于處理BIO結構(僅適用于Li??nux系統) #include <open=""ssl/evp.h> // Linux系統下需要包含此頭文件,用于處理EVP接口(僅適用于Linux系統) #include <open='open'ssl/buffer.h> // Linux系統下需要包含此頭文件,用于處理緩沖區(僅適用于Linux系統) #include <openssl/x509v3.??h> // Linux系統下需要包含此頭文件,用于處(′ω`)理X509證書(shū)(僅適用于Linux系統) #include <open="open"ssl/pem.h> // Linux系統下需要包含此頭文件,用于處理PEM格式的數據(??僅適用于Linux系統) #include <open=""ssl/rsa.h> // Linux系統下需(◎_◎;)要包含此頭文件,用于處理RSA算法(僅適用于Linux系統) #include &l(???)t;open="open"ssl/rand.h> // Linux系統下需要包含此頭文件,用于生成隨機數(僅適用于Linux系統) #include <open=""ssl/sha.h> // Linux系統下需要包含此頭文件,用于處理SHA算法(僅適用ヽ(′?`)ノ于Linux系統) #include <open='open'ssl/md5.h> // Linux系統下(xia)需要包含此頭文件,用于處理MD5算??法(僅適用于Linux系統) #include <open='open'ssl/des.h> // Linux系統下(xia)需要包含???此頭文件,用于(′?`*)處理DES算法(僅適用于Linux系統) #include <open=""ssl/aes.h> // Linux系統下需要包含此頭文件,用于處理AES算法(僅適用于Linux系統) #include <openssl/dsa.h> // Linux系統下需要包含此頭文件,用于處理DSA算法(僅適用于Linux系統) #include <open=""ssl/ecdsa.h> // Linux系統下需要包含此頭文件,用于處理ECDSA算法(僅適用于Linux系統) #include( ?ヮ?) <openssl/bn.h> // Linux系??統下需要包含此頭文件,???用于處??理大整數運算(僅適用于L??inux系統) #include <open='open'ssl/dh.h> // Linux系統下需要包含此頭文件,用于處理DH算法(僅適用于Linux系統) #include <open=""s?sl/ripemd.h> // Linux系統下需要包含此頭文件,用于處理RIPEMD算法(僅適用于Linux
Copyright ? 2012-2018 天津九安特機電工程有限公司 版權所有 備案號: