问题标签 [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.
c++ - iostream 和大文件支持
我试图找到一个明确的答案,但不能,所以我希望有人可能知道。
我正在 Linux(32 位操作系统)上使用 GCC 4.x 开发 C++ 应用程序。此应用程序需要能够读取大小 > 2GB 的文件。
我真的很想使用 iostream 的东西与 FILE 指针,但我找不到大文件 #defines (_LARGEFILE_SOURCE, _LARGEFILE64_SOURCE, _FILE_OFFSET_BITS=64) 是否对 iostream 标头有任何影响。
我在 32 位系统上编译。任何指针都会有所帮助。
c++ - 使用 boost::iostreams::tee_device?
有人能帮我吗?
我正在尝试执行以下操作:
但它不会在 VC9 中编译:
有没有人让这个工作?我知道我可以让自己的班级去做,但我想知道我做错了什么。
谢谢
c++ - 自定义 cout
我如何从中派生一个类cout
,例如,写入它
new_cout << "message";
相当于
cout << __FUNCTION__ << "message" << "end of message" << endl;
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.hpp
about中留下了几个错误,error C2976: 'std::basic_string' : too few template arguments.
它似乎与 iostream 是多余的。
有没有人成功地将 Boost、iostream 和 WDK 组合在一起工作?
我的源文件:
服务.cpp:
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 到底是怎么回事??)
c++ - 我可以在“\n”上停止 std::cout 刷新吗?
根据这篇文章\n
,当 std::cout连接到交互式设备(例如终端窗口)时,它会自动刷新。否则(例如,当通过管道传输到文件时)它将完全缓冲,并且只会在.flush()
or上刷新std::endl
。
有没有办法在 Microsoft Visual C++ 中覆盖此行为,以便我可以选择是完全缓冲模式还是行缓冲模式?
c++ - C++中std::cin对象的规则是什么?
我正在编写一个供我个人使用的小程序来练习学习 C++ 及其功能,它是一个 MLA 引文生成器(我正在写一篇有数十次引文的大型论文)。
由于缺乏更好的方法(我不了解类或在您的 main 中使用其他 .cpp 文件,所以不要费心告诉我,当我有更多时间时,我会继续努力),我正在写每种引用类型的函数。如果我有更多时间,我可能会将其分解为每个重用代码的函数。
我的问题是:std::cin 对象是如何工作的?我目前正在使用 std::cin >> 读取我希望是单个单词的字符串,并使用 getline(std::cin, string) 读取带有空格的字符串。不过,我没有得到正确的输出。我只想知道 std::cin 是如何工作的,以及为什么我总是意外地跳过一些输入(例如,它跳过了 webPage 而不是让我有机会输入它)。
编辑:I/O
如您所见,出了点问题,因为我的输入被跳过了。
c++ - 链接 C++ 流
我正在考虑将几个c ++ iostreams“链接”在一起以过滤输入两次。我正在使用 gzstreams 读取 zlib 压缩文件,并且正在考虑编写一个从流中读取并执行编码转换的流。也许通过将打开的流作为构造函数参数传递...您认为如何最好地完成?
perl - 需要帮助使用 perl 解析来自 php 套接字服务器的流数据
我正在为我的公司开发一个项目,该项目使用套接字服务器 (php) 从远程设备收集数据。如何让这个 perl 程序直接在流上运行,而不是先让服务器写入一个 tmp 文件,然后在该文件上运行这个脚本,然后写出一个 csv 文件以插入数据库?
我考虑过使用 IO::Socket 但我不知道该怎么做。
此外,如果有人对如何清理此代码有任何提示/指示,我们将不胜感激。(我仍然是一个 Perl n00b ;-))
这是到目前为止我对 perl prog 所做的。(运行后我得到了两个 tmp 文件):
c++ - 发送更多数据的unix域流套接字应该是
我设置了两个通过 unix 域套接字共享数据的简单程序。一个程序从队列中读取数据并将其发送到另一个应用程序。在发送之前,每条数据都在前面附加四个字节的长度,如果小于四个字节,则剩余的字节是'^'符号。
客户端应用程序然后读取前四个字节,将缓冲区设置为适当的大小,然后读取其余部分。我遇到的问题是第一次通过消息将被完美发送。此后每隔一段时间都会发送额外的数据,因此会出现“多么美好的一天”之类的消息,例如“多么美好的一天??X??”。所以我觉得缓冲区没有被正确清除,但我似乎找不到它。
客户端代码:
服务器代码