scanf系で""で囲まれた文字列全体を読み込みたいと思っている.
で,空白文字も""内に含まれるのだが,スキャンセットを使って次のように書いてみた.
#include <stdio.h>
int main(void){
int i;
char name[2][10],buf[10];
for(i=0;i<2;i++){
printf("No.%d:name >", i+1);
fgets( buf , sizeof buf , stdin );
if( sscanf( buf , "\"%[^\"]\"\n" , &name[i][0] )!=1 ){
printf("error\n");
i--;
}
}
for(i=0;i<2;i++){
printf("%20s\n",name[i]);
}
return(0);
}
すんと,一つの入力が10文字越えると変になっちまう.
No.1:name >"hogehoge hogehoge"
No.2:name >error
No.2:name >      hogehoge
nameの第二添え字の数字を越えてもうまく動くようにできない?