Welcome to Leon's Blog |
|
|||
日歷
統計
導航常用鏈接留言簿(4)隨筆分類隨筆檔案
ACM搜索最新評論
閱讀排行榜評論排行榜 |
今天寫了一個關于C語言讀寫的小程序,代碼如下:
int main(int argc, char *argv[])
這是用通過調用c語言的庫文件來實現。{ FILE *file; FILE *fw; if( (file = fopen("main.cpp", "r")) == NULL) return -1; if( (fw = fopen("text.txt", "wt")) == NULL) return -1; char ch; while( (ch=fgetc(file)) != EOF ) { fputc(ch, fw); printf("%c", ch); } fclose(file); fclose(fw); return 0; } //char ch[LEN] = {0}; //while( !feof(file) ) //{ // fread(ch, sizeof(char), LEN-1, file); // printf("%s", ch); // fwrite(ch, sizeof(char), LEN-1, fw); // memset(ch, 0, sizeof(char)*LEN); //} 以下是用C++的中的stream來實現的,但是在處理中文的時候,會出現一些亂碼。 //fstream fs;
但是通過char類型進行讀寫卻不出現亂碼,感覺很奇怪。// fs.open(_T("文本.txt")); // // char arr[LEN] = {0}; // wchar_t temp[2*LEN+1] = {0}; // int length; // if(!fs) // { // cout << "Error" << endl; // return -1; // } //while(!fs.eof()) //{ // fs.read(arr, sizeof(arr)-1); // length = MultiByteToWideChar(CP_ACP, 0, arr, -1, NULL, NULL); // MultiByteToWideChar(CP_ACP, 0, arr, -1, temp, length); // wcout.imbue(locale("chs")); // wcout << temp; //} int main(int argc, char *argv[])
{ fstream fs; fs.open(_T("文本.txt")); fstream fw; fw.open("text.txt"); char arr[LEN] = {0}; wchar_t temp[2*LEN+1] = {0}; int length; if(!fs || !fw) { cout << "Error" << endl; return -1; } while(!fs.eof()) { fs.read(arr, sizeof(arr)-1); cout << arr; fw.write(arr, sizeof(arr)-1); memset(arr, 0, sizeof(arr)); } cout << endl; fs.close(); fw.close(); return 0; }
評論:
|
![]() |
|
Copyright © Leon916 | Powered by: 博客園 模板提供:滬江博客 |