c言語の sscanf について質問させてください。
マックのterminalです。
int main(){
char linebuf[256];
int parcel[256][2];
int i=0;
while(fgets(linebuf, 256, stdin)!=NULL){
printf("linebuf[0]=%c \n", linebuf[0]);
printf("linebuf[1]=%c \n", linebuf[1]);
printf("linebuf[2]=%c \n", linebuf[2]);
printf("linebuf[3]=%c \n", linebuf[3]);
printf("linebuf[4]=%c \n", linebuf[4]);
sscanf(linebuf, "%d, %d", &parcel[i][0], &parcel[i][1]); printf("parcel[%d][0]=%d ", i, parcel[i][0]); printf("parcel[%d][1]=%d \n", i, parcel[i][1]); ++i;
}
return 0;
}
これを./a.out で実行し、標準入力で 12 25 を入れると、
./a.out
12 25
linebuf[0]=1
linebuf[1]=2
linebuf[2]=
linebuf[3]=2
linebuf[4]=5
parcel[0][0]=12 parcel[0][1]=0
となって、linebuf にはちゃんと入ってるのですが、
25が入ってて欲しい parcel[0][1]
には何も入らず。
ネットで色々調べましたがうまく行かず、こちらで似た質問があって、それでもうまく行かなかったので、質問させていただきました。よろしくお願いします!
回答3件
あなたの回答
tips
プレビュー