私はこの単純な問題を抱えています。Cの先行スペースを維持する
int B;
char *a = (char*)malloc(1000*sizeof(char);
scanf("%[^\n]s", a);
printf("%c\n", a[0]);
B = strlen(a);
printf("%d\n", B);
私のようなエントリを置く場合:
" abc "
[0] = 'A' とB = 5( "ABC" プラス最後の二つの空間)。私は最初の3つのスペースを数えたいと思いますが、どうすればいいですか?
がコードのあなたの 'scanf'ラインが何をするのか説明してください。 –
'intスペース。 scanf( "%n%[^ \ n]"、&spaces、a); ' – BLUEPIXY
'%[] 'を使って一連のスペースを読み込みます。 – Barmar