栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

Linux 上 C++ 关于暂停程序的问题

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux 上 C++ 关于暂停程序的问题

众所周知,Windows上实现时停需要Windows.h头文件和Sleep()函数

#include 
#include 
using namespace std;
int main()
{
    cout<<1;
    Sleep(1000);
    cout<<2< 

运行本程序,会先输出1,等待1秒后输出2

但是!在linux系统上:

#include 
using namespace std;
int main()
{
    cout<<1;
    sleep(1);
    cout<<2< 

运行,他会先等待1秒,然后一起输出12

???

但但是,添加一个endl后

#include 
using namespace std;
int main()
{
    cout<<1< 

这时,他又会先输出1,等待1秒,再输出2

行,既然sleep不好用,那我就用循环

#include 
using namespace std;
int main()
{
    cout<<1;
    for(int i=1;i<=1000000000;i++)
    {
        ;
    }
    cout<<2< 

结果没有丝毫变化,还是先等待,在输出12

气的我想当场卸载Linux

最终我找到了可行的代码

#include 
using namespace std;
int main()
{
    cout<<1;
    for(int i=1;i<=10000000;i++)
    {
        cout< 

只需要在循环里输出NULL字符,最终结果就会变成,先输出1,等待,再输出2

???

本人刚学C++和Linux没多久,请问各路大神为什么会出现这样的问题,加上endl为什么又好了,循环加上char(0)为什么又好了?

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025642.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号