问题标签 [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.

0 投票
1 回答
446 浏览

c++ - cstdio fopen 和 fclose 在 osx 上无法正常工作

我通过 openframeworks 使用 tinyxml,它使用 cstdio 进行文件访问。我可以看到示例程序非常愉快地创建和写入文件,但没有删除,所以我的计划是实现删除,但是在我自己的项目中尝试运行此代码后,它似乎没有创建文件或通知我错误。

此代码在 Windows 上按预期运行,只是不在 mac osx 10.8.5 上,没有生成文件。

编辑:我现在知道该文件存在并且可以从中读取,我只是无法在查找器中查看它,我显示了隐藏文件,它没有找到进入应用程序包内容的方式。

0 投票
1 回答
463 浏览

c++ - << s.str() 和 << s.rdbuf() 之间的区别

有人可以解释以下细微差别:

我主要使用 .rdbuf() 将字符串流推送到文件(因为它更有效),但是如果字符串流为空,则文件流会变坏......?这不是愚蠢吗?我觉得我不太明白<< s.rdbuf()...

0 投票
1 回答
166 浏览

c++ - 关于 fsetpos、C++ 的说明

我对 stdio.h 库中的函数fsetpos有点困惑。我想写入文件中的不同索引(即不想连续写入文件)。我正在考虑使用 fsetpos 但是文档指出..

我必须根据来自 fgetpos 的调用来设置位置对我来说没有意义。有什么意义,因为它只会将其设置为已经设置的位置。或者我没有正确理解它?

0 投票
2 回答
73 浏览

c++ - 旋转二维整数数组

我的 IT 学校的任务有问题。问题是:将数组的框架向左转动。输入:首先获取测试次数(t)。然后对于每个测试得到 l 和 k(行和列),3 <= l,k <= 100。然后用用户的数字填充矩阵。

到目前为止我的代码:

我知道我做错了重新定位。我现在尝试了 5 种不同的方法。如果有人会告诉我一种迭代表格的方法,将值向左移动。我将感激不尽。还要记住,l 不必等于 k。

0 投票
1 回答
938 浏览

c++ - 简单的 C++ 程序中没有控制台输出

我注意到我的一些程序在 c++ 中的奇怪行为,当我试图找出导致它的原因时,我发现我的控制台输出出了点问题。我使用了具有相同行为的 iostream 和 cstdio 函数。当我在控制台上打印一些东西时它根本不显示。这是我用来观察这种奇怪行为的代码。这段代码正确地输出所有内容(即使它不应该是 IMO):

然而,这个(我认为是正确的)不显示任何内容,只显示运行完成消息

我也试过在“\n”之前删除空格,没有区别。但是,当我在程序末尾放置更多相同的带有“\n”的 printf 函数时,一切都会正确显示(当然是多次)。iostream 的行为方式类似 - 使用 endl 不会导致任何内容出现在控制台上。我究竟做错了什么?至于导致故障的原始代码,我注意到在我的输出中什么都没有出现,但在我的学校中,相同的代码正确输出了所有内容。我在 NetBeans 8.0.2 下工作。提前感谢您的帮助

0 投票
2 回答
162 浏览

c - 使用 fscanf() 时不理解 C 格式说明符

所以我正在阅读这种格式的文本文件:

我正在尝试使用 fscanf() 来解析数据,因为这个文件可能会增长或缩小,它需要以动态的方式加载,因此我使用 malloc 并且我也想将它存储在下面的结构中。我认为问题在于空格甚至可能没有正确编写整个格式说明符。这是我的代码。

是的,我知道我没有包含头文件,但我有正确的 stdlib 和 stdio

更新1:我已经尝试了两个回复,我在我的屏幕上得到了这个:

为什么 51.555 没有转到结构中的下一项?谢谢

///////////////////////////////////////// ////////////更新2///////////////////////////// ///////////////////

好的,我已修改我的代码以执行以下操作。

现在当我尝试打印 cp[0].name; 我得到了整个第一行,没有空格,就像这样。

如果我得到 print cp[0].lat; 我明白了。

当我打印 cp[0].lng; 我明白了。

这是唯一正确的,我无法理解这种行为。为什么会这样?所有帖子都建议(正如我首先想到的那样) fscanf 中的每个 %s 都会将其放入自己的变量中,而不是将它们连接起来。如果我使用点表示法或直接表示法,则无关紧要 - >它仍然具有相同的结果。谢谢 :)

0 投票
0 回答
91 浏览

c++ - 尝试存储 .ppm 图像数据时出错

在尝试存储 .ppm 文件的图像数据时,我遇到了一个错误,上面写着:

Map.exe 中 0x01071712 处的未处理异常:0xC0000005:访问冲突写入位置 0x0bf13746。

我认为这意味着它写入不属于图像数组的内存的某些部分。但是,我不太清楚如何补救。任何帮助表示赞赏。为了简单起见,我在这个 C++ 程序中使用了 C 函数。我对 C++ IO 套件的每一个小方面都不够熟悉,无法尝试任何东西。该程序确实涉及 OpenGL 的使用,如果这有帮助的话。

0 投票
2 回答
1337 浏览

c - C中的多个输入

我正在尝试创建一个获取多个电阻值输入的函数。在我的主要功能中,程序要求用户询问需要多少电阻。用户需要的电阻数量将成为程序要求用户输入电阻值的次数。问题是我应该使用什么循环来制作错误声明并让用户再次输入值。输入只接受整数。这是代码:

输出应该是这样的:

你想在电路中放置多少个电阻?

3

请输入电阻值:

请输入电阻#1:

A B C D

无效抵抗!

重新输入电阻#1:

5

请输入电阻#2:

6

...

ETC

这不会发生在我的代码上。请帮忙谢谢!

0 投票
1 回答
345 浏览

c++ - 我应该在我的 C++ 程序中混合 C 和 C++ 风格的 I/O 吗?

这个问题让我很困惑。因为 C++ 是 C 的超集,所以程序员可以自由使用 C 的库函数,如 printf()、scanf() 和许多其他函数等。但我通常喜欢 C++ 的面向对象的 I/O 系统,我最喜欢使用cout 和 cin . 因为 iostream 更安全、更不容易出错、可扩展、灵活且可继承。我应该因为 iostream 的优势而停止使用传统 C 的 I/O 函数,还是应该修改我的程序来使用?哪种方法更好?混合 C 和 C++ I/O 时应该注意哪些地方。我知道向后兼容遗留 C 程序是必要的,但我真的应该怎么做呢?

0 投票
6 回答
4156 浏览

c - 不知道缓冲区大小时如何避免危险的 vsprintf

我的问题是我无法将缓冲区大小参数添加到 my_sprintf,因为它用于超过 50k 的地方,我无法用 vsprintf_s 或 vsnprintf 替换 vsprintf。

使上述功能更安全的任何替代方法?