如何暂停C程序?

如何暂停C程序?,c,pause,unistd.h,C,Pause,Unistd.h,固定的 system("read -r -p \"Press any key to continue...\" key") 我现在正在编写一个命令行工具并使用C语言,但我想知道如何暂停程序?(不是中止它,但可以重新继续)我试图使它像“按回车键继续” 我在Linux上,所以我没有什么,我有,我尝试了“pause()”,但这个函数无法实现“按Enter键继续”,它无法重新继续 想知道是否有一个功能或什么可以帮助我做到这一点?如果是,请告诉我,谢谢 PS:以上是我的代码,您可能会看到,我正在使用一个

固定的

system("read -r -p \"Press any key to continue...\" key")
我现在正在编写一个命令行工具并使用C语言,但我想知道如何暂停程序?(不是中止它,但可以重新继续)我试图使它像“按回车键继续”

我在Linux上,所以我没有什么,我有,我尝试了“pause()”,但这个函数无法实现“按Enter键继续”,它无法重新继续

想知道是否有一个功能或什么可以帮助我做到这一点?如果是,请告诉我,谢谢

PS:以上是我的代码,您可能会看到,我正在使用一个名为“conti”的函数设置暂停

PLUS:忽略那些“延迟”功能,只做测试。

#包括
#包括
#包括
无效延迟500ms(无效){
无符号字符i,j,k;
对于(i=15;i>0;i--)
对于(j=202;j>0;j--)
对于(k=81;k>0;k--);
}
无效延迟1s(无效){
无符号字符h,i,j,k;
对于(h=5;h>0;h--)
对于(i=4;i>0;i--)
对于(j=116;j>0;j--)
对于(k=214;k>0;k--);
}
int暂停(void);
内部ldown(内部ln)
{
int k;

对于(k=0;k你可以这样做:

#include <stdio.h>
int main(){
  puts("Press any key to continue ... ");
  getchar();
}
#include <iostream>
int main(){
  std::cout << "Press enter to continue ... " << std::endl;
  std::cin.ignore(INT_MAX);
  cin.get();
}
在C++中,它看起来是这样的:

#include <stdio.h>
int main(){
  puts("Press any key to continue ... ");
  getchar();
}
#include <iostream>
int main(){
  std::cout << "Press enter to continue ... " << std::endl;
  std::cin.ignore(INT_MAX);
  cin.get();
}
#包括
int main(){

std::cout有几种方法可以做到这一点,您可以将其中一种方法添加到
void conti()
函数中

getchar

  • 将读取为无符号字符转换的字符返回到文件末尾的int或EOF,或返回错误,
    getchar();
在POSIX系统中,您可以使用:

#include <unistd.h>

pause ();
while (!kbhit())
    printf("Howdyy you haven't pressed a key.\n");
#包括
#包括
int main(){
而(1){
放置(“按命令…”);
}
}

在调用
conti()
之前清除输入缓冲区,在内部,只需使用
getchar()
…这就是您所需要的。系统(“暂停”)应该是正确的方法,而不是告诉我们“忽略”一些代码,你应该把它从问题中删除。请参阅。
如果你真的需要让它进入被接受状态:
…嗯…为什么?你不是要求我按任意键继续吗…
?@CoderBTS好的,我已经做了编辑,现在应该可以了。但是我尝试了getch和getchar,两者都不起作用…你可以试试你的seLF,使用我的源代码。想知道“中断”是否影响它?@ CordButs。不应该是这样。你访问C++ +?乔尔NoPE完全正确。CONIO.H是Borland C标准中引入的库,OP没有机会访问这个库。但是我如何从PAUSESE()继续??感谢您不厌其烦地回答问题,但请阅读,这似乎有助于您改进答案。此外,我怀疑无止境循环的有用性,该循环会重复输出,但ingores输入。它与所述问题并不完全匹配。我没有投反对票,但我所描述的可能是任何人的想法。Con为了获得参加巡演的徽章,这并不能提供问题的答案。一旦你有足够的证据,你就可以;相反,.-@cpburnz我不认为答案错误是删除的正当理由。毕竟,它确实会像OP要求的那样“暂停”节目(事实上,它也使该计划毫无用处是另一个问题)。这正是为什么存在否决票的原因。。。
while (!kbhit())
    printf("Howdyy you haven't pressed a key.\n");
#include <conio.h>
#include <stdio.h>
int main(){

  while(1){
    puts("Press command ... ");

  }
}