---
# System prepended metadata

title: C++/CLI WinForm 開啟控制台輸出
tags: [C++/CLI, lab 專案, 問題記錄]

---

# C++/CLI WinForm 開啟控制台輸出
###### tags: `C++/CLI`, `問題記錄`, `lab 專案`

📌 **C++ 開啟控制台輸出**
> reference:
> https:>blog.51cto.com/stq054188/5191453
>
> 此篇文章 worked on MFC
> 親測 Windows Form with C++ 也可以
> 寫在與 XXX.h 對應的 XXX.cpp 當中  
>
> => 原本 WinForm 的 cpp 運行後無法利用主控台輸入/輸出
> 
> => 加入下面兩行後, 就可以透過 cout 輸出資料

以 MFC 為例，
在 OnInitDialog() 函數中加入下面兩行：
```
AllocConsole();  // 開啟主控台測試視窗
freopen("CONOUT$", "w", stdout);  // 允許主控台開啟輸出支持
```
➡️ **補充 (關閉的方法)**
https://blog.udn.com/awei0905/36774448

➡️ **錯誤訊息 (未必有, 但有可能會看到)**
C4996
'freopen': This function or variable may be unsafe. Consider using freopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.     

**解決方法**
專案 》屬性 》組態屬性 》C/C++ 》前置處理器 》前置處理器定義
》新增: _CRT_SECURE_NO_WARNINGS
