Re: [問題] 遇到換行結束輸入 in C
全部都用scanf系列也可以作到。
為了這個目的,需要使用一些不常出現的格式化字串。
%n
回傳目前為止分析過的字元數
%*c
讀入一個字元並略過
%[]
這個格式會讀入一個字串,
並且只允許 [ ] 之間的字元出現。
如果 [ ] 中的字串開頭是'^',就是禁止這些字元出現。
#include <stdio.h>
int main() {
char line[1024];
int var[1024];
while (scanf("%1023[^\n]%*c", line) == 1) {
size_t size = strlen(line);
size_t cursor;
size_t count = 0;
while (sscanf(&line[cursor], "%d%n", &var[count], &cursor) == 2)
++count;
}
size_t i;
for (i = 0; i < count; ++i)
printf("%d ", var[i]);
putchar('\n');
}
}
--
\ ◥◥█ ▊◢◥▃ ◥ ▎ ▇▅▍ /
\ ◥◥◣▍◣◥ ′◥◤ ◣ ┌ ▌ /◢
\ ╴╴╴╴/ ▊ / \ ▋ /◢
/\╴╴╴╴ / ╲ ◢ ▏ ▋◢ ◢◢
╴/ ╲╴╴╴╴/ ╲ ▆▄── ◢▅ ◤▁ ◢█
φibmibmibm / ╲╴╴╴╴ ◥ ◤ ▃ ▂▅▇
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.237.164
推
05/05 21:48, , 1F
05/05 21:48, 1F
討論串 (同標題文章)
完整討論串 (本文為第 4 之 4 篇):