Re: [問題] 關於一個程式
我修改過我的程式碼了
中文判讀沒問題了
現在只剩下跳行了
而且最詭異的就是 我輸出的文字內容
只要貼到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
03/24 00:00, 1F
推
03/24 00:00, , 2F
03/24 00:00, 2F
→
03/24 00:05, , 3F
03/24 00:05, 3F
→
03/24 00:06, , 4F
03/24 00:06, 4F
→
03/24 00:16, , 5F
03/24 00:16, 5F
→
03/24 00:23, , 6F
03/24 00:23, 6F
推
03/24 01:48, , 7F
03/24 01:48, 7F
討論串 (同標題文章)