1.
gets
gets
函式的標頭檔案是
,原型如下:
char *gets(char *s);
gets
從stdin
中讀入一行內容到
s指定的
buffer
中,當遇到換行符或
eof時讀取結束。讀取成功時,返回
s位址;失敗時返回
null
。需要注意的是,
gets
會將行末尾的
'\n'
字元或eof
替換成'\0'
,這樣,
gets
讀取的內容中不包括
'\n'
字元。如果要獲取讀取字串的長度,可以呼叫
strlen
函式獲得。
1.#include 2.#include 3.#include 4.
5.int main()
6.
15.
16. // free buff
17. free(buff);
18.}
2. fgets
fgets
函式的標頭檔案是
,原型如下:
char *fgets(char *s, int size, file*stream);
fgets
從stream
中讀取最多
size-1
大小的內容到
s指定的
buffer
中,當遇到換行符或
eof時讀取結束。讀取成功時,返回
s位址;失敗時返回
null
。需要注意的是,
fgets
會在所讀取的內容後面新增
'\0'
,這樣,
fgets
讀取的內容中會包括行末尾的
'\n'
字元。如果要獲取讀取字串的長度,可以呼叫
strlen
函式獲得。
1.#include 2.#include 3.#include 4.
5.int main()
6.
15. // free buff
16. free(buff);
}
3. 3.
getline
getline
函式的標頭檔案是
,原型如下:
ssize_t getline(char **lineptr,size_t *n, file *stream);
getline
從stream
中讀取一行內容到
*lineptr
所指定的
buffer
中,當遇到換行符或
eof時讀取結束。*n是
*lineptr
所指定的
buffer
的大小,如果*
n小於讀入的內容長度,
getline
會自動擴充套件
buffer
長度,並更新
*lineptr和*n
的值。讀取成功時,返回讀入的字元個數;失敗時返回
-1。需要注意的是,
gelines
讀取的內容中會包括行末尾的
'\n'
字元。
1.#include 2.#include 3.
4.int
5.main(void)
6.
15.
16. free(line);
17. exit(exit_success);
18.}
1. 自己實現
my_getline
可以自己實現,原型如下:
int my_getline(char* line, intmax_size);
my_getline
從stdin
中讀取最多
max_size-1
個字元到
line
所指定的
buff
中,當遇到換行符或
eof時讀取結束。讀取成功時,返回讀取的字串長度;失敗時返回0。
my_getline
讀取的內容中會包括行末尾的
'\n'
字元。
1.#include 2.#include 3.
4.int my_getline(char* line, int max_size)
5.
13.
14.
15. line[len] = '\0';
16. return len;
17.}
18.
19.int main()
20.
30.
31. free(buff);
32.}
C語言從stdin讀取一行字串的幾種方法
c語言從 stdin讀取一行字串的幾種方法 gets gets函式的標頭檔案是 原型如下 char gets char s gets從 stdin中讀入一行內容到 s指定的 buffer中,當遇到換行符或 eof時讀取結束。讀取成功時,返回 s位址 失敗時返回 null。需要注意的是,gets會將行...
C語言一行一行讀取檔案
c語言中,使用fgets函式可以一行行讀du取檔案。1 fgets函式 原型 char fgets char buf,int bufsize,file stream 功能 從檔案結構體指標stream中讀取資料,每次讀取一行。說明 讀取的資料儲存在buf指向的字元陣列中,每次最多讀取bufsize ...
C語言 一行一行讀取檔案txt
參考 怎麼用c語言實現讀取乙個txt檔案裡的資料 要按行讀出來 開啟檔案 fopen 需要開啟的路徑 然後使用fgets函式讀取行 include include include define max line 1024 intmain while fgets buf,max line,fp nul...