问题标签 [cstdio]
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++ - std::size_t 上的 cstdio 和 cstddef 冲突
测试.cpp
编译:
如果我只删除#include <cstdio>
,一切正常。
但如果我只删除#include <cstddef>
,同样的错误会弹出。
如果我同时删除:
我需要包含和std::size_t
使用这两个库。
在这种情况下我该怎么办?我应该添加一些CXXFLAGS
吗?
我的 gcc 版本是 4.8.5。
更新:
我试过系统默认的 gcc: /usr/bin/g++
,错误消失了。
所以应该归咎于anaconda的gcc。我将向小组提出一个问题。
谢谢你们。
c++ - 如何在cpp中使用gets()
这些天我在 cpp 中学习字符串和数组。在我的学校,他们教我们将字符串作为用户输入,必须使用gets(),但它不适用于我拥有的任何编译器。我已经尝试过使用 cstdio 库,仍然有错误。我知道 cin.getline() 但它是一个更大的词。
c++ - 使用标准 c++ printf() 函数作为自定义库的接口以打印到字符显示的正确方法
首先,一些背景。我已经购买了一些Avago HCMS-29xx LED 显示器。有一个用于控制它们的 Arduino 库,但我想使用树莓派。所以我已经fork了原库的 GitHub 并开始移植。
库端口主要用于基本的打印示例,但我将字符串传递给库的方式充其量是被破解的。所以我做了一些搜索,找到了一个示例,展示了如何使用 Stream 类作为我的库类的基础,并使用 printf() 将字符打印到我的显示器上。
这是示例:
和我的代码:
但是当我尝试编译时,它给出了一个错误
我究竟做错了什么?这甚至是使用标准 printf() 函数的明智方法吗?
c++ - 为什么 sscanf 不能从一个字符串中读取 uint64_t 和 char?
我尝试使用从一个字符串sscanf
中读取 auint64_t
和 a ,但每次尝试此操作时char
它只读取它ui
(断言失败)。ret == 2
c++ - 如何分离在 C++ 中执行的 java 应用程序的 stdin/stout/stderr 流
我正在为现有的 jarfile 创建一个 C++ 包装器。在本例中,我使用 Spigot Minecraft 服务器 jarfile 执行此操作。
当我执行应用程序时,我遇到了应用程序的输入和输出由 Java 应用程序控制的问题。这意味着当 java 应用程序成功终止时,C++ 应用程序也会成功终止,这表明标准输入的文件描述符正在关闭。
pipe()
我查看了许多现有的 stackoverflow 帖子,我见过的最接近实现这一点的方法是使用分叉进程,然后使用and管道传输文件描述符dup()
:
C/Linux - 重定向 stdin 和 stout 时遇到问题
我目前正在重建代码以使其更具可移植性,并允许我向 C++ 代码添加额外的功能,但以下代码是我开始使用的代码,也是我将用来测试的代码.
理想情况下,我希望 java 应用程序的输入和输出在 stdin、stdout 和 stderr 的不同文件描述符集上运行,而不需要分叉。
有没有办法向 JVM 指示,使用 C++ 中的 JNI 库来实现这个目标?
c++ - 如何故意触发 fgets() 中的错误?
概括
使用时fgets()
,我有错误检查代码,它会在fgets()
返回null
但尚未到达文件末尾时执行一些补救措施。我想练习这部分代码来验证它是否按预期工作。
是否有触发fgets()
失败的规范方法?通过手动方式(以某种方式在调用 之间删除文件fgets()
)、一些测试设置(提供故意“损坏”的文件)或其他方式?
最小可重现示例
fgets_fail_test.cpp:
测试文件.txt:
理论
虽然我可以简单地用一些测试脚手架替换有问题的代码(编写一个保持内部状态的 fgets 包装器,增加一个计数器,一旦它到达第 #N 行,它就会返回null
并手动设置文件错误和 errno)我觉得应该有一些“内置”的方式来做到这一点?
如果唯一的解决方案是脚手架,我会这样做。老实说,也许我在这里太聪明了。
c - 尽管没有包含 cstdio 错误?(视觉工作室)
我正在尝试在 Visual Studio 2019 中编译 C 程序,我将“编译为”设置为“编译为 C 代码 (/TC)”,并且 cstdio 未包含在我的项目中的任何位置,但它仍然给我 cstdio 错误
c++ - 检索有关打开文件的信息
fopen()
我可以仅使用返回的指针检索有关先前打开的文件的信息吗?
我问的原因是我正在尝试为FILE *
s 编写一个 RAII 样式的包装类,并且我想让它尽可能通用,并且我为它想象的功能之一是类似复制的操作,这需要aFILE *
作为参数,并创建对同一文件的新引用。
dup()
在 POSIX 下,我可以使用/创建文件描述符的副本dup2()
,甚至可以通过fnctl()
'F_GETFL
操作了解文件是如何被访问的。但是,即使我对 a 的底层描述符这样做,FILE *
也不足以猜测流是文本还是二进制等属性(在 POSIX 下,没有真正的区别,但我想笼统地说),或者它的面向char
- 或 -wchar_t
基于文本的方向。
那么,有没有一种方法可以了解我即将为其创建包装器的流,我能走多远,我应该怎么做?
谢谢你的关注。