我剛開始學習C++,我希望程序在顯示結果後保持打開狀態。所以我用getch();而C++則表明它應該有一個原型。這是什麼意思?以及如何解決這一>getch()顯示原型錯誤
回答
就意味着下列條件之一:
你在DOS下編程,忘了包括CONIO.H(https://en.wikipedia.org/wiki/Conio.h)。可能你從舊教科書中複製了一個源文件,因爲conio.h是一個非常古老的概念。你用什麼來源學習?我推薦一個來自:The Definitive C++ Book Guide and List
你在Linux下編程,你忘了,包括curses.h(http://linux.die.net/man/3/getch)
你忘了Windows。 –
@MichaelWalz我不認爲任何(自我尊重)Windows編譯器隨conio.h一起發貨。如果我沒有記錯的話,它是Borland的一箇舊Turbo C頭。 – fritzone
conio.h仍然與我的Visual Studio 2013交付。 –
如果您使用的是Windows然後getch
是從Windows的功能只有<conio.h>
library。您需要包含它(#include <conio.h>
)。 只有在Windows上纔有可能。
另外,getch()
已棄用。 改爲使用_getch()
。
如果你在GNU + Linux的,那麼getch
距離<curses.h>
library的功能。你需要包括它(#include <curses.h>
)。
包括:
1)<conio.h>
在Windows上。
2)<curses.h>
在UNIX
看起來你只是想PAUSE在屏幕上的控制檯應用程序。使用此#include <stdio.h>
並嘗試getchar();
而不是getch();
或只需system("pause");
或cin.ignore()
將爲您完成這項工作。
此外,「不開始調試」用Ctrl-F5將讓你按任意鍵在程序結束繼續。這樣,只有按下某個鍵後,控制檯纔會在顯示屏上暫停。
您沒有添加「C++」解決方案:'cin.ignore()'。 – 2016-07-05 13:41:27
@MatthewRoh你在這裏:) –
不錯! :)現在它匹配C++標籤。 – 2016-07-05 13:48:36
我的理解是客觀的:
我想要顯示的結果後
方案保持開放何樂而不爲呢典型的c++
方式?
#include<iostream>
int main(void)
{
int i;
char ch;
std::cout<<"Enter any character : ";
std::cin.get(ch); // For testing enter a string at this step say "String"
/* The input to cin is line-buffered, so after reading 'S' to ch,
* the remaining "tring" is still in the buffer.
*/
std::cout<<"Entered character : "<<ch<<"\n";
while(std::cin.get()!='\n')
;;
/* cin.get() is an overloaded function in the istream class.
* If no arguments are passed to 'get()' this function reads single next character
* In essence, we wait for the cin.get() to clear the buffer that is
* read all characters including '\n'
*/
std::cout<<"Press any key to continue..\n";
std::cin.get();
/* Since we have already cleared the buffer using the loop
* 'get()' expects us to enter a character this time
*/
return 0;
}
- 1. 爲什麼使用getch()顯示錯誤?
- 2. 在函數原型中顯示錯誤
- 3. getch()返回錯誤字符
- 4. 錯誤的顯示類型
- 5. CoffeeScript原型錯誤
- 6. Webstorm IDE中的Typescript字符串原型顯示錯誤
- 7. 原因及顯示java.lang.NullPointerException錯誤修正
- 8. 顯示內嵌原因錯誤背後
- 9. 顯示原型單元格
- 10. 原型並顯示:無
- 11. 原型隱藏/顯示
- 12. 函數原型錯誤
- 13. 函數原型錯誤
- 14. jquery和原型錯誤
- 15. Javascript對象原型錯誤
- 16. 缺少原型錯誤
- 17. JavaScript原型繼承錯誤
- 18. 原型findElements querySelectorAll錯誤
- 19. 的Javascript原型錯誤
- 20. 原始類型雙錯誤
- 21. bootstrap_flash顯示模型錯誤消息
- 22. 顯示錯誤的類型net :: ERR_CONNECTION_REFUSED
- 23. ASP.NET MVC模型錯誤繼續顯示
- 24. CakePHP模型 - > invalidate不顯示錯誤
- 25. 顯示錯誤
- 26. 使用顯示原型模式時出現「未定義不是函數」錯誤
- 27. Rails 4 Flot未捕獲類型錯誤和錯誤顯示
- 28. 原型中的json值顯示爲undefined
- 29. 顯示原型對象的屬性?
- 30. 的SketchFlow原型字體顯示不
顯示確切的錯誤。 –
你確定它是'C++'而不是'c'嗎? –
是的,它是C++。 :) –