Yahoo奇摩知識+ 將於 2021 年 5 月 4 日 (美國東部時間) 終止服務。自 2021 年 4 月 20 日 (美國東部時間) 起,Yahoo奇摩知識+ 網站將會轉為唯讀模式。其他 Yahoo奇摩產品與服務或您的 Yahoo奇摩帳號都不會受影響。如需關於 Yahoo奇摩知識+ 停止服務以及下載您個人資料的資訊,請參閱說明網頁。

? 發問時間: 電腦與網際網路程式設計 · 2 0 年前

Cpp~~cin.fail()的問題

在下是C的新手

看一些程式碼cin應該跟scanf()是一樣的吧

(我是這麼推測的,可是對C++沒研究)

那麼cin.fail()是什麼意思

有辦法用scanf取代嗎??

1 個解答

評分
  • ?
    Lv 7
    2 0 年前
    最佳解答

    scanf()和cin差不多.在C++裡,按照cin.fail()的定義來講.cin.fail()會回傳1或true如果cin裡的成員變數rdstate裡有failbit.如果rdstate裡沒有failbit的話那cin.fail()會回傳0或false.按照failbit的定義,使用者若在讀取時遇到問題,那rdstate裡就有failbit.若使用者在讀取時讀取成功,那rdstate裡就不會有failbit.也就是說,你若在用cin讀取資料時出問題,那cin.fail()會回傳1或true. 你若在用cin讀取資料時讀取成功,那cin.fail()會回傳0或false.在C裡,你若用scanf()讀取資料.那請問你若在讀取資料時出問題的話,會出現什麼情況?例如:#include <stdio.h>int main(){    int i, j;    j = scanf("%d", &i);    printf("%d\n", j);    return(0);}當在執行此程式時你若輸入一個英文字母(錯誤的輸入)會怎樣?當在執行此程式時你若輸入一個數字(正確的輸入)會怎樣?懂不懂?不懂請再問

    參考資料: Myself, www.microsoft.com
還有問題?馬上發問,尋求解答。