问题标签 [iostream]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
328842 浏览

c++ - 从文本文件中读取直到 EOF 重复最后一行

以下C++代码使用ifstream对象从文本文件(每行有一个数字)中读取整数,直到到达EOF为止。为什么它读取最后一行的整数两次?如何解决这个问题?

代码:

输入.txt

输出

注意:我已跳过所有错误检查代码以保持代码片段较小。在 Windows (Visual C++)、cygwin (gcc) 和 Linux (gcc) 上可以看到上述行为。

0 投票
13 回答
13027 浏览

c++ - 在 C++ 代码中应该使用哪个 CI/O 库?

在新的 C++ 代码中,我倾向于使用 C++ iostream 库而不是 C stdio 库。

我注意到一些程序员似乎坚持使用 stdio,坚持认为它更便携。

真的是这样吗?用什么比较好?

0 投票
5 回答
16151 浏览

c++ - 让 cin 读取返回字符的 C++

我想知道如何使用cin,以便如果用户没有输入任何值而只是推动ENTER将其cin识别为有效输入。

0 投票
1 回答
405 浏览

c++ - 读取一些整数,然后在 C++ 中读取一行文本

我正在读取 C++ 程序中的输入。首先是一些整数,然后是一个字符串。当我尝试使用 读取字符串时getline(cin,stringname);,它不会读取用户键入的行:相反,我得到一个空行,从用户Enter在键入整数后按下时开始。

如何清除cin(cin.clear()不起作用) 以使字符串不会用“enter”键填充自己?

这是一个正常的输入接收,代码顶部没有什么特别的,我遇到了这样的问题,但我忘记了我需要清除的解决方案,cin这样字符串就不会被“enter”键填充。

0 投票
10 回答
248058 浏览

c++ - 如何在 C++ 中从 cin 读取直到 EOF

我正在编写一个直接从用户输入读取数据的程序,并且想知道如何(没有循环)从标准输入读取所有数据,直到 EOF。我正在考虑使用cin.get( input, '\0' )'\0'不是真正的 EOF 字符,它只会读取到 EOF 或'\0',以先到者为准。

还是使用循环是唯一的方法?如果是这样,最好的方法是什么?

0 投票
13 回答
227554 浏览

c++ - "std::endl" 与 "\n"

许多 C++ 书籍都包含这样的示例代码......

...所以我也一直这样做。但是我已经看到很多这样的工作开发人员的代码:

是否有技术上的理由比另一个更喜欢一个,或者这只是编码风格的问题?

0 投票
8 回答
32817 浏览

c++ - 对比与“iostream.h”

在 C++ 中包含头文件时,...之间有什么区别?

1) 在将 .h 包装在 < > 符号中时,包括 .h 还是不包括 .h?

2)将标题名称用双引号括起来还是用 < > 符号括起来?

提前致谢!

0 投票
2 回答
4778 浏览

c++ - 有没有办法检查 istream 是否以二进制模式打开?

我正在使用一个 istream,它可以是 stringstream、ifstream 或用户定义的流类型,我需要知道在 ifstream 的情况下它是否没有以二进制模式打开(所以我可以抛出异常)。我尝试了以下方法:

但从来没有抛出异常。在这种情况下测试失败,因为 _is.flags() 返回 0x201 而 ios::binary 是 0x20。有没有办法找出流是否以文本模式打开?

0 投票
3 回答
22749 浏览

c++ - iostream 链接器错误

我有一些旧的 C 代码,我想与一些 C++ 代码结合使用。

过去的 C 代码包括以下内容:

现在我试图让它像这样使用 C++ 和 iostream:

但是我在编译时不断收到以下链接器错误:

[链接器错误] 未定义对 `std::string::size() const' 的引用

[链接器错误] 对 `std::string::operator[](unsigned int) const' 的未定义引用

[链接器错误] 对 `std::string::operator[](unsigned int) const' 的未定义引用

[链接器错误] 对 `std::string::operator[](unsigned int) const' 的未定义引用

[链接器错误] 未定义对 `std::ios_base::Init::Init()' 的引用

[链接器错误] 未定义对 `std::ios_base::Init::~Init()' 的引用

ld 返回 1 个退出状态

我该如何解决这个问题?

编辑:我的编译器是 Dev-C++ 4.9.9.2

0 投票
6 回答
13670 浏览

c++ - 在 C++ 中创建大文件的最快方法?

在 C++ 中创建一个大约 50 - 100 MB 的平面文本文件,内容“添加的第一行”应插入文件中 400 万次