我來進行所有統整解釋吧
Q1:為什麼判斷是否成功的條件式會是 !FileInput??
A1:因為FileInput是你函入文件檔時的輸入指令(請看以下例子)
語法:
int main(){ //從主函式開始
int n;
ifstream fin("in.txt");
ofstream fout("out.txt");
fin >>n;
fout <<n+1;
return 0;
}
以上面的主函式來說明
1.藍色部分C/C++裡面是執行函入和輸出的固定程式碼
2.綠色部分則是依照你給定的變數作為指令在運用,好比說cout好了,cout 的定義為"輸出",則在上面各綠色部分的"fout"是個人設"fout"這個變數去充當輸出的指令,也就是說只要我把cout改成fout,則該輸出將會輸出於我要的文件"out.txt"裡,fin也是如此,把cin改成fin則會從我選定的文件輸入,假如你把
ifstream fin("in.txt");這段改為
ifstream f("in.txt");,則表示你設"f"這個變數作為檔案輸入的指令
3.紅色部分為你要函入或輸出的文件擋,一定要附上附檔名,若存放位置不在debug這個資料夾裡,則要註明從哪輸入(當你開一個文件檔時,上頭不是有欄文件檔的存放位置,把那欄複製貼在紅色部分前面即可)
Q2:為什麼會是用指標名稱來判斷是否為0或1??
A2:因為電腦的世界中只有0或1在跑(有電流經過或無電流經過),至於0和1的運用
語法:
int a;
cin >>a;
if((a%=2))
cout a*2;
return 0;
就以上指令而言,若a%2=1(a為奇數),則會進入藍色部分的步驟,若a%2=0,則不會進入,為何呢??因為在電腦世界中,0代表false,1代表truth,在執行藍色部分之前會先經過if的條件式判斷,if這個指令要進行其子函式(藍色部分)前,必須得到truth的回應才會執行,也就是說若if (!FileInput)要執行其子函式,則需!FileInput為truth,但又"!"有否定意味在,所以FileInput的值要為false(0),也就代表沒有輸入才會執行if的子函式
以上,了解嘛??