gets() 不允许先执行 cout
gets() doesnot allow execution of cout first
我目前正在使用'Digital Mars C++',因为我需要Turbo C++,如语法和32位exe构建,所以这就是原因。
现在我面临的问题是,当我编写下面的代码时,
#include <iostream.h>
#include <stdio.h>
int main()
{
char n[30];
cout << "Enter Name: ";
gets(n);
return 0;
}
然后我保存这个文件,然后我把这个文件保存为test.cpp
。
然后我打开命令提示符并键入dmc test.cpp
.
现在,当我得到一个编译的文件时,exe文件test.exe
,现在当我运行它时,它首先要求输入,然后它显示一条消息Enter Name:
。
请帮助我解决这个问题,这真的很有必要。
注意:
当我使用 printf 而不是 cout 时,它工作正常。
当我替换我的陈述时
cout << " Enter Name: ";
跟cout << " Enter Name: " << endl
然后我也收到我的消息,然后询问输入。
请不要建议我使用 GCC 编译器。
如果您指示我在哪里在我的 stdio.h 文件中进行更改以纠正 get 函数正常工作或任何其他与修复此错误相关的头文件,我将很高兴。
你可以添加这个代码,
cout << flush;
就在使用cout << "Some Statement";
之前或在直接方法中,您可以执行此操作cout << " Some Statement" << flush;
然后轻松使用gets()
。
相关文章:
- 为什么 printf 在 C++ 中的执行速度比 cout 快?另外scanf比cin慢,为什么?
- 是否可以在每次使用std::cout时执行一个函数
- 为什么我的 cout 一次执行,尽管 cin 应该在两者之间读取?
- 为什么 cout 语句在传递指向函数的指针时没有执行?
- gets() 不允许先执行 cout
- 为什么在 c++ 中使用 ios::sync_with_stdio(false) 后在 cout 之前执行 printf
- popen() 将执行命令的输出写入 cout
- 执行递增和递减时"cout"链接会产生意外结果
- C COUT行为 /执行顺序
- 对于字符d,我在执行cout <<&d时得到奇怪的输出
- 执行叉()时cout vs printf
- 为什么我的代码首先执行后面的 cout
- 在 AllocConsole 之前执行 std::endl 会导致不显示 std::cout
- 我的C++程序没有执行我的 cout 代码
- C++如何在这个程序中执行cout
- 使用cout语句执行while循环
- typedef int -> 整数。我可以在 c++ 中执行 cout-> 打印吗?
- 试图从std::cout执行.exe
- 在无休止地循环cout时执行,忽略cin
- Display to cout使用g++停止执行