该程序无法在DOS模式下运行

时间:2013-05-22 19:28:41

标签: c++ gcc

我正在尝试一个程序并使用GCC编译并运行它但是它会抛出错误,它无法在dos模式下运行。这是我的代码

#include<iostream>
#include<fstream>
using namespace std;
int main(int argc, char *argv[]) 
{ 
    ifstream is; 
    is.open("text1.txt",ios::binary);
    ofstream outfile;
    outfile.open("text2.txt",ios::binary);
    char ch; 
    while (is.get(ch)) 
    { 
        outfile.put(ch);
        cout << ch;  //this shows
    }
    is.close();
    outfile.close();
    getchar();
    return 0; 
}

但是这段代码在Visual Studio中运行得非常好。有什么建议吗?

2 个答案:

答案 0 :(得分:2)

我假设有一个gcc编译选项可以作为控制台命令运行。请参阅-mconsole此处:http://gcc.gnu.org/onlinedocs/gcc/i386-and-x86_002d64-Windows-Options.html

答案 1 :(得分:2)

如果您想要进行更多跨平台友好,您可以删除该行

#include<conio.h>

并更改getchar()的getch()

编辑: 所以它看起来像这样:

 #include<fstream>
 using namespace std;
 int main(int argc, char *argv[])
 {
     ifstream is;
     is.open("text1.txt",ios::binary);
     ofstream outfile;
     outfile.open("text2.txt",ios::binary);
     char ch;
     while (is.get(ch))
     {
         outfile.put(ch);
         cout << ch;  //this shows
     }
     is.close();
     outfile.close();
     getchar();
     return 0;
 }