C 語言 控制檯輸入字符串的方式彙總
[編輯] [转简体] (简体译文)
|
作者:huidong
| 分類:【編程】C/C++
[
6 瀏覽
0 評論
2 贊
2 踩
]
概要
正文
先定義個字符串
char lpsz[1024] = { 0 };
方法 1
scanf("%s", &lpsz); // 將會截斷輸入字符串的 ' ', '\t', '\n' scanf("%[^' '^'\n']", &lpsz); // 這樣不遇到 ' ', '\n' 就不截斷
方法 2
gets(lpsz); // 讀到換行截斷
注意:如果在 linux 系統下,由於不支持 gets 与 puts,需要用 fgets 和 fputs
fgets( lpsz, 100, stdin ); fputs( lpsz, stdout );
和 gets 略有區別,fgets 也是讀取一行或者遇到 EOF 結束,但是如果有換行符,會把換行符 '\n' 也讀進來
方法 3
for (int i = 0; !i || lpsz[i - 1] != '\n'; lpsz[i++] = getchar());
這樣讀出來,最後也會有個 '\n'。