相关疑难解决方法(0)

C++:为什么此代码仅在使用“\n”时才有效?

在 Ubuntu 18.04 上使用 g++ 编译时,以下 C++ 代码工作正常:

#include <iostream>

using namespace std;

void wait(){
  int t0 = time(0);
  while(true){
    if(time(0) >= t0 + 1){
      return;
    }
  }
}
int main(){
  while(true){
    cout << "tick\n";  //Line 15
    wait();
  }
}
Run Code Online (Sandbox Code Playgroud)

这是tick每秒出现一个的输出:

tick
tick
tick
tick
tick
Run Code Online (Sandbox Code Playgroud)

但是,当删除第\n15 行中的它时,它似乎只是卡在某处而没有任何反应。\n代码到底做了什么?如果我不想在每个循环后都打印新行,我该怎么办?(我认为将其称为 C++ 中的错误会有点傲慢和错误)

另外,我知道这可能是构建延迟功能的一种非常糟糕的方式,我只是在胡闹。

c++ delay

4
推荐指数
1
解决办法
161
查看次数

C++ 程序没有输出

首先,很抱歉,如果这是错误的类别,因为我不确定这个问题的原因是什么。

出于教育目的,我创建了一个小型“Hello World”应用程序

#include <iostream>
int main() {
    std::cout << "Hello World\n";
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我尝试使用 Visual Studio 和 MINGW-64(g++ -m64 main.cpp) 将其编译为 64 位应用程序。它在我的 Windows 计算机上完美运行,但是当我尝试在最新的 Windows PE 中运行它时,它不会打印出任何内容。我也尝试过使用 std::cin 以便程序不会立即停止,但同样的事情发生 - 没有输出,也没有错误。 在此输入图像描述

我知道 WinPE 在包含的库和子系统方面非常有限,但我真的认为这个简单的 Hello World 应用程序可以运行。WinPE环境是64位的,这就是为什么我编译为64位

有什么想法我应该从哪里开始吗?

c++ cout winpe

3
推荐指数
1
解决办法
3772
查看次数

标签 统计

c++ ×2

cout ×1

delay ×1

winpe ×1