[課業] 今天作業
主要就是在三個
1.讀入檔 輸出檔
2.判斷轉換大小寫
3.將轉換結果丟進輸出檔
所以也只需要程式是一開始 加上<fstream>
1.
#include <fstream> 之內的
fstream file("D:\\input.txt",ios_base::in); //讀入
近來的檔名
fstream file1("D:\\output.txt",ios_base::out); //輸出
出去的檔名 都是王老大要求的
怎嚜判斷讀檔成功與否?
if(!file)
cerr<<"error";
else{
.......................}
如果開檔不成功 就不要繼續做之後的轉換了
成功才執行轉換
先設計一個文字陣列
char a[x]; //x是一個數字 越大可讀進來的檔字數可以越多
如何把輸入檔的內容丟到這個陣列 在遇到空白的時候又不會自同停止呢?
試試看.getline函式吧 EX:file.getline(陣列名稱,陣列大小)
2.接下來 a陣列你要一個一個去檢視裡面的東西是大寫小寫
文字怎麼轉成ASKII碼?
int b;
用一個for迴圈(跑到整個陣列全部跑完)
把之後的都框起來吧 做判斷轉換用
abc轉成ASKII碼 b=a[i] <--會自動把A轉成65 以此類推
用b判斷大小寫 ASCII碼 A=65 B=66..... a=97 b=98...
兩個if分別是大寫和小寫的狀況
if(123>b && b>96) //判斷若為小寫
{
b=b-32; //轉成大寫
a[i]=b; //覆蓋回陣列原本那格
}
大寫如法泡製
3.
到這裡就差不多了
接下來就是輸出
file1<<a; //把你改完的a陣列流進file1檔案裡面
然後把兩個檔案關閉
利用.close();
不吝指教 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.5.53
※ 編輯: jerry771210 來自: 140.112.5.53 (05/14 19:21)
推
05/14 21:02, , 1F
05/14 21:02, 1F
※ 編輯: jerry771210 來自: 140.112.5.53 (05/14 22:27)
→
05/14 22:28, , 2F
05/14 22:28, 2F
→
05/14 22:28, , 3F
05/14 22:28, 3F
※ 編輯: jerry771210 來自: 140.112.5.53 (05/14 22:30)
推
05/15 07:32, , 4F
05/15 07:32, 4F
推
05/15 23:20, , 5F
05/15 23:20, 5F
→
05/15 23:32, , 6F
05/15 23:32, 6F
推
05/16 10:32, , 7F
05/16 10:32, 7F
※ 編輯: jerry771210 來自: 218.187.12.205 (06/29 14:30)