0

为了抑制换行,我们使用 %[^\n]。您能否建议在输入中跳过空白的格式应该是什么,即如果我们必须输入“hallo stackflow”。我知道 fgets 和 gets 但我不想使用它们,它们正在制造问题。

4

2 回答 2

1

我认为您的意思是“包括空格”。采用:

#define str(x) #x
#define xstr(x) str(x)
/* ... */
char buf[ SIZE + 1 ] = "";
int rc = scanf("%" xstr(SIZE) "[^\n]%*[^\n]", buf);
/*you may need the return value later on, if reading
  in multiple strings with whitespaces in a loop */
if (!feof(stdin)) 
     getchar(); /* consume newline */
于 2009-04-23T15:36:29.697 回答
0

在scanf格式中放一个空格;抑制空格。

于 2009-04-23T15:28:48.217 回答