0

改行を抑制するには、%[^\n] を使用します。入力で空白をスキップする形式、つまり「ハロースタックフロー」を入力する必要がある場合はどうすればよいか教えてください。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 に答える