作者deepking (wnuiayldh)
看板C_and_CPP
標題[問題] C的getline用法?
時間Tue Jun 30 17:44:46 2009
$ man getline
ssize_t getline(char **lineptr, size_t *n, FILE *stream);
char n[MAX];
int N=100;
getline(&n, &N, stdin);
printf("%c", n[0]);
為什麼這樣印出來都不是輸入的字元呢?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.122.36.221
推 zlw:cstdio跟cstring裡沒這函數,C++有cin.getline或std::getline 06/30 17:55
推 zlw:另外,第一個參數你用的n是 char *不是char** 06/30 17:58
推 Bencrie:傳n進去會不會有問題啊... &n是唯讀的說 06/30 17:59
→ deepking:THX~~那這函式有什麼用途呢,以為跟c++的getline一樣用法 06/30 18:08
推 zlw:我的意思只是不是標準的函數而已。應該就是標準的gets()安全版 06/30 18:10
→ zlw:char n[2][128]; 06/30 18:10
→ zlw:試了也不行,大概要 char **n; n = new char*[2]; n[0]=new ch 06/30 18:12
→ zlw:ar[128]; 06/30 18:12
推 ledia:自己學著看看 man page 好嗎? 06/30 18:48
→ ledia:這是會幫你 alloc / realloc 的 getline 06/30 18:49
→ ledia:當然最後還是要自己將之 free 掉 06/30 18:50
→ ledia:一開始時可以傳 NULL 或是先 malloc 某個大小都行 06/30 18:50