2012-01-08 69 views
4

爲Visual C++ 2010 Express中作爲普通用戶這是代碼:COUT不能在Windows 7

#include <iostream> 

int main() 
{ 
    using namespace std; 
    cout << "========================" << "\n" << flush; 
    return 0; 
} 

如果我建,在Windows 7中使用Visual快訊2010年,上面的代碼作爲一個管理員,然後以cmd shell的普通用戶身份運行生成的可執行文件,它將打印預期的輸出。 如果我像普通用戶一樣清理並構建相同的代碼,然後以普通用戶身份在cmd shell中運行生成的可執行文件,則不會打印任何內容。

任何想法爲什麼會發生這種情況?

+0

看起來你問了[一個非常類似的問題](http://stackoverflow.com/questions/7939541/visual-c-2010-express-for-win32-project-linking-only-works-as-管理員)。 – 2012-01-08 23:25:28

+0

是的,但我一直無法深究這個問題。 – 2012-01-08 23:27:13

+0

沒有更多的細節,我不認爲任何人都可以幫助你。 – 2012-01-08 23:32:19

回答

0

我沒有確切的答案,但我會盡力提供幫助。

1)作爲普通用戶,右鍵單擊Visual Studio命令提示符,然後單擊以管理員身份運行。這樣,您可以以普通用戶的身份運行Visual Studio,並且只能以管理員身份使用命令提示符。

2)您的調試文件夾位置不是默認值。我使用Visual C++ 2010 Express作爲普通用戶並使用默認位置/ user/visual studio 2010/projects。我可以毫無問題地運行程序。通過右鍵單擊來檢查您是否具有該文件的可執行權限。

另外,爲什麼不使用「Ctrl + F5」從IDE運行程序?如果你只是想運行程序,這種方式會更快。 還有一件事,嘗試從Visual Studio外部打開cmd shell,cd進入該文件夾並運行它,看看是否有所作爲。

0

我認爲這是一個問題,由於分配不當的權利。 嘗試給予普通用戶管理權限。 此外,檢查文件是否在您的文檔中,而不是在C:\ program files 由於權限充足,您可能無法修改設置。 因此,在規定的目錄中不會進行調試。

+0

這裏的要點是標準用戶能夠使用Visual C++編譯並生成可運行的可執行文件。我不希望用戶擁有管理權限。 當你說檢查你的'文件',你引用了什麼文件? – 2012-02-09 20:23:11