Re: [問題] 關於一個程式

看板C_and_CPP作者 (J)時間15年前 (2009/03/23 23:47), 編輯推噓3(304)
留言7則, 4人參與, 最新討論串4/6 (看更多)
我修改過我的程式碼了 中文判讀沒問題了 現在只剩下跳行了 而且最詭異的就是 我輸出的文字內容 只要貼到MSN上就會自動跳行 XD #include <cstdlib> #include <iostream> #include <fstream> #define LINE_LENGTH 64 using namespace std; bool IsChinese(char ch1, char ch2); int main(int argc, char *argv[]){ bool bChinese = false; char array_in[LINE_LENGTH]; char array_out[LINE_LENGTH]; int lineDex; int lineLen; char chinese[3]; fstream Input, Output; Input.open("input.txt", ios::in|ios::binary); Output.open("output.txt", ios::out|ios::binary); while(!Input.eof()){ Input.getline(array_in, LINE_LENGTH); // cout<<array_in<<endl; lineDex =0; lineLen = strlen(array_in); //cout<<lineLen<<endl; array_out[lineLen-1]='\n'; //cout<<array_in<<endl; while(lineDex<lineLen-1){ bChinese = IsChinese(array_in[lineDex], array_in[lineDex+1]); if(bChinese==true){ array_out[lineLen-2-lineDex-1]=array_in[lineDex]; array_out[lineLen-2-lineDex]=array_in[lineDex+1]; lineDex += 2; //chinese[0] = array_in[lineDex]; //chinese[1] = array_in[lineDex+1]; //chinese[2] = '\0'; //cout<<"chinese"<<chinese<<endl; } else{ array_out[lineLen-2-lineDex]=array_in[lineDex]; lineDex++; } } cout<<array_out; Output.write(array_out, lineLen-1); Output.write("\n\0", 1); } Input.close(); Output.close(); system("PAUSE"); return EXIT_SUCCESS; } bool IsChinese(char ch1, char ch2){ bool bResult = false; if(ch1 >= (char)0xa1 && ch1 <= (char)0xf9){ if( (ch2 >= (char)0x40 && ch2 <= (char)0x7e) || (ch2 >= (char)0xa1 && ch2 <= (char)0xfe) ){ bResult = true; } } return bResult; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.191.1

03/24 00:00, , 1F
丟進矩陣裡面不是要寫出來orz||
03/24 00:00, 1F

03/24 00:00, , 2F
windows下的跳行好像是 \r\n?
03/24 00:00, 2F

03/24 00:05, , 3F
你的array_out不是本來就有給換行字符沒辦法換是程式問題
03/24 00:05, 3F

03/24 00:06, , 4F
想寫windows可以參考樓下^_^
03/24 00:06, 4F

03/24 00:16, , 5F
唉呀 我作業已經交了 Orz
03/24 00:16, 5F

03/24 00:23, , 6F
拍拍
03/24 00:23, 6F

03/24 01:48, , 7F
我想說交作業時間是23:00吧...
03/24 01:48, 7F
文章代碼(AID): #19nwxvq6 (C_and_CPP)
文章代碼(AID): #19nwxvq6 (C_and_CPP)