问题标签 [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 投票
2 回答
4430 浏览

c++ - iostream 和大文件支持

我试图找到一个明确的答案,但不能,所以我希望有人可能知道。

我正在 Linux(32 位操作系统)上使用 GCC 4.x 开发 C++ 应用程序。此应用程序需要能够读取大小 > 2GB 的文件。

我真的很想使用 iostream 的东西与 FILE 指针,但我找不到大文件 #defines (_LARGEFILE_SOURCE, _LARGEFILE64_SOURCE, _FILE_OFFSET_BITS=64) 是否对 iostream 标头有任何影响。

我在 32 位系统上编译。任何指针都会有所帮助。

0 投票
2 回答
3672 浏览

c++ - 使用 boost::iostreams::tee_device?

有人能帮我吗?

我正在尝试执行以下操作:

但它不会在 VC9 中编译:

有没有人让这个工作?我知道我可以让自己的班级去做,但我想知道我做错了什么。

谢谢

0 投票
6 回答
4158 浏览

c++ - 自定义 cout

我如何从中派生一个类cout,例如,写入它

new_cout << "message";

相当于

cout << __FUNCTION__ << "message" << "end of message" << endl;

0 投票
3 回答
2772 浏览

boost - 在应用程序的 WDK 构建环境中使用 boost?

我正在使用 Windows 驱动程序工具包 (WinDDK 6001.18001) 来构建我的用户空间应用程序,而不是 Visual Studio 2005。我采用这种方法是因为我们还必须构建驱动程序组件,所以我希望有一个单一的构建环境来构建一切. Microsoft 本身将这种方法用于多种产品。

在我开始使用 Boost 1.38.0 之前,这一切正常。我没有在内核模式组件中使用 C++,只是在用户空间应用程序中使用。在 C++ 代码中,使用 boost 库是很自然的。不幸的是,WDK 不同意。

我注意到的第一个错误是“#include <cstddef>”没有ptrdiff_t按照附件 D 的要求放入 std 命名空间。解决这个问题在boost\lambda\detail\operator_return_type_traits.hppabout中留下了几个错误,error C2976: 'std::basic_string' : too few template arguments.它似乎与 iostream 是多余的。

有没有人成功地将 Boost、iostream 和 WDK 组合在一起工作?

我的源文件:

服务.cpp:

0 投票
3 回答
4080 浏览

c++ - stringstream 无符号转换坏了?

考虑这个程序:

我在 OS X 10.5.6 上的 gcc(版本 4.0.1 Apple Inc. build 5490)上试过这个,断言是真的;它无法将 -1 转换为无符号短。

然而,在 Visual Studio 2005(和 2008)中,断言失败并且 n 的结果值与编译器生成的隐式转换所期望的值相同 - 即“-1”是 65535,“-2”是 65534,等等. 但后来它在“-32769”处变得很奇怪,它转换为 32767。

这里谁对谁错?(-32769 到底是怎么回事??)

0 投票
3 回答
5326 浏览

c++ - 我可以在“\n”上停止 std::cout 刷新吗?

根据这篇文章\n,当 std::cout连接到交互式设备(例如终端窗口)时,它会自动刷新。否则(例如,当通过管道传输到文件时)它将完全缓冲,并且只会在.flush()or上刷新std::endl

有没有办法在 Microsoft Visual C++ 中覆盖此行为,以便我可以选择是完全缓冲模式还是行缓冲模式?

0 投票
2 回答
19678 浏览

c++ - C++中std::cin对象的规则是什么?

我正在编写一个供我个人使用的小程序来练习学习 C++ 及其功能,它是一个 MLA 引文生成器(我正在写一篇有数十次引文的大型论文)。

由于缺乏更好的方法(我不了解类或在您的 main 中使用其他 .cpp 文件,所以不要费心告诉我,当我有更多时间时,我会继续努力),我正在写每种引用类型的函数。如果我有更多时间,我可能会将其分解为每个重用代码的函数。

我的问题是:std::cin 对象是如何工作的?我目前正在使用 std::cin >> 读取我希望是单个单词的字符串,并使用 getline(std::cin, string) 读取带有空格的字符串。不过,我没有得到正确的输出。我只想知道 std::cin 是如何工作的,以及为什么我总是意外地跳过一些输入(例如,它跳过了 webPage 而不是让我有机会输入它)。

编辑:I/O

如您所见,出了点问题,因为我的输入被跳过了。

0 投票
1 回答
2410 浏览

c++ - 链接 C++ 流

我正在考虑将几个c ++ iostreams“链接”在一起以过滤输入两次。我正在使用 gzstreams 读取 zlib 压缩文件,并且正在考虑编写一个从流中读取并执行编码转换的流。也许通过将打开的流作为构造函数参数传递...您认为如何最好地完成?

0 投票
1 回答
825 浏览

perl - 需要帮助使用 perl 解析来自 php 套接字服务器的流数据

我正在为我的公司开发一个项目,该项目使用套接字服务器 (php) 从远程设备收集数据。如何让这个 perl 程序直接在流上运行,而不是先让服务器写入一个 tmp 文件,然后在该文件上运行这个脚本,然后写出一个 csv 文件以插入数据库?

我考虑过使用 IO::Socket 但我不知道该怎么做。

此外,如果有人对如何清理此代码有任何提示/指示,我们将不胜感激。(我仍然是一个 Perl n00b ;-))

这是到目前为止我对 perl prog 所做的。(运行后我得到了两个 tmp 文件):

0 投票
3 回答
638 浏览

c++ - 发送更多数据的unix域流套接字应该是

我设置了两个通过 unix 域套接字共享数据的简单程序。一个程序从队列中读取数据并将其发送到另一个应用程序。在发送之前,每条数据都在前面附加四个字节的长度,如果小于四个字节,则剩余的字节是'^'符号。

客户端应用程序然后读取前四个字节,将缓冲区设置为适当的大小,然后读取其余部分。我遇到的问题是第一次通过消息将被完美发送。此后每隔一段时间都会发送额外的数据,因此会出现“多么美好的一天”之类的消息,例如“多么美好的一天??X??”。所以我觉得缓冲区没有被正确清除,但我似乎找不到它。

客户端代码:

服务器代码