我剛剛從Windows移到Linux,我嘗試創建一個簡單的應用程序,它打開控制檯,顯示消息並等待按鍵關閉。我已經在Windows上創建了它,它可以工作,然後我只是將這些文件移動到Linux。沒有做任何改變,只是用g ++編譯它,我沒有任何錯誤。問題是,在Linux(Ubuntu 12.04)上,我看不到控制檯,並且有消息要求我在關閉前按任意鍵。我的代碼是如此簡單:Cout和Cin在Linux中 - 看不到控制檯
#include <iostream>
#include <cstdio>
int main() {
cout << "Writing file...\n";
FILE *myfile = fopen("testfile.txt", "w");
fwrite("test", sizeof(char), 4, myfile);
fclose(myfile);
cout << "Press any key to exit...\n";
cin.ignore();
return 0;
}
在Windows上,當我啓動可執行文件,控制檯窗口會告訴我的消息,並按下任意鍵時關閉。在Linux上,當我執行程序時,我什麼也沒得到。它確實創建了testfile.txt文件並插入文本,所以cstdio相關函數確實有效,但我看不到任何控制檯的這些消息,我不明白爲什麼。也許我不知道如何在Linux上打開一個簡單的可執行文件。我想要的是雙擊它,並看到一個控制檯與兩個簡單的消息。你怎麼瘦我做錯了?謝謝!
還有,我用G ++編譯cpp文件:g++ -Wall -s -O2 test.cpp -o test
中的名稱使用
std::
資格。您發佈的代碼甚至不會編譯。但是如果這樣做了,你將會得到一個名爲'test'的可執行文件,你可以通過從它所在的目錄輸入'。/ test'從控制檯執行它。 – juanchopanza這聽起來像是你從桌面gui運行它 - Linux上使用的不止一個,你可能需要指定哪一個(或者至少是你正在使用的發行版)。 –
對不起,我按字母鍵入了代碼,我可能插入了一些錯誤的字符。代碼編譯,這不是問題。正如我所說的,fwrite的作品,它創建一個文本文件。我無法看到的是一個控制檯向我顯示消息。我不想用這個終端,我只是想點擊它,並打開控制檯上的信息 – ali