作者jerry771210 (123站著穿)
看板NTUE-CS100
標題[課業] 今天作業
時間Wed May 14 18:39:46 2008
主要就是在三個
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)
推 nash3629:很久沒給你推了 05/14 21:02
※ 編輯: jerry771210 來自: 140.112.5.53 (05/14 22:27)
→ jerry771210:askII對照表 05/14 22:28
※ 編輯: jerry771210 來自: 140.112.5.53 (05/14 22:30)
推 bearNturtle:建中哥第二 05/15 07:32
推 daniel114:是ASCII碼歐 辛苦了~ 05/15 23:20
→ jerry771210:對吼 拼音有問題 05/15 23:32
推 Markseinn:作弊版:可以用toupper()和tolower() 05/16 10:32
※ 編輯: jerry771210 來自: 218.187.12.205 (06/29 14:30)