[問題] 請問一下有點奇怪的地方

看板C_and_CPP (C/C++)作者 (小豆豆)時間15年前 (2010/08/07 01:48), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/1
cin>>case_nu; cout<<endl; for(int i=0;i<case_nu;i++){//3 for(int j=0;j<=1000;j++){//2 cin.getline(data,100); if(data[0]=='\0') break; else{//1 pch=strtok(data," "); contest=atoi(pch); pch=strtok(NULL," "); problem=atoi(pch); pch=strtok(NULL," "); time=atoi(pch); pch=strtok(NULL," "); judg=*pch; if(judg=='I') a[contest].pro[problem]+=20; else if(judg=='C'){ a[contest].pro[problem]+=time; a[contest].ans[problem]='Y'; } cout<<a[1].pro[2]<<endl; }//1 }//2 }//3 我有疑問的地方是說 我CASE_NU如果輸入1的話他不是應該會讓我輸入一千組字串一次嗎 但是我按1之後就直接跳出迴圈了 是因為我用GETLINE的原因嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.131.170

08/07 02:11, , 1F
因為輸入完 case_nu 後, cin 的 buffer 內還有字元 \n
08/07 02:11, 1F

08/07 02:12, , 2F
getline 出來的字串是空字串, 可用 cin.ignore 解決
08/07 02:12, 2F

08/08 15:37, , 3F
想請問一下 我用cin.ignore('\n')這樣不行
08/08 15:37, 3F

08/08 15:37, , 4F
要換成cin.ignore('\n',10) 才會正常 請問一下10的用意在?
08/08 15:37, 4F

08/08 15:51, , 5F
08/08 15:51, 5F
文章代碼(AID): #1CN4i9Ly (C_and_CPP)
文章代碼(AID): #1CN4i9Ly (C_and_CPP)