问题标签 [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 回答
102 浏览

c - 使用 C 中的库编辑 txt 文件

我在扫描现有文件时遇到问题。

挑战是我有一个带有一些字符串的源文本文件。我必须扫描这个文件中的单词"o'clock",在我找到它的地方,我必须把之前的单词"o'clock"放在方括号中。

我找到了一个查找触发器的函数,但我不明白我接下来需要做什么。如果您能解释如何替换读取字符串中的字符,我将不胜感激。

例如:我们有一个字符串:

"Let's go to the graveyard at night - at twelve o'clock!"

我需要用 替换这个twelve[twelve]

这是代码:

0 投票
0 回答
55 浏览

c++ - 是否可以使 C++ iostream std::cout 与 cstdio printf() 一样高效?

注意:这不是现有std::ios::sync_with_stdio(false)问题的重复。我已经经历了所有这些,但我无法coutprintf. 示例代码和证据如下所示。

我有三个源代码文件:

我不会在我的代码中混用cstdioiostream所以我使用的 hacksex3.cpp对我来说没问题。

我在带有固态驱动器的 macOS 上使用 clang++ 编译它们。

现在我运行它们并计时。

即使我将输出重定向到/dev/null. 结果也与-O3优化级别非常相似。

两者ex3ex2都比ex1? 是否有可能以任何方式使用std::cout提供与 相当的速度printf

0 投票
1 回答
44 浏览

c++ - 如何读取和写入非固定长度的结构到二进制文件c++

我有结构向量:

我想写入文件:

然而,读/写的正常方法

不起作用,因为条目的大小可能会根据内容的不同而有很大差异

所以我想要关于如何从文件中读取/写入这些数据的方法和指针。

0 投票
2 回答
117 浏览

c++ - 编译器警告混合“stdio.h”和

如果添加了第 4 行中的 include 语句(未注释),则以下程序会导致编译器警告。

编译器:gcc 8.1.0 版(i686-win32-dwarf-rev0,由 MinGW-W64 项目构建)

警告是:

有人可以解释会发生什么吗?

我当然可以只使用 <cstdio> 来解决这个问题,这在这种情况下是正确的。

但这又引出了另一个问题……

假设我有一个包含在两个实现文件中的头文件——一个用 C 编译器编译,一个用 C++ 编译器编译。头文件需要使用“stdio.h”,因为它需要使用 C 编译器进行编译。这是否意味着包括该头文件在内的所有代码也必须使用“stdio.h”而不是 <cstdio>,即使它是 C++ 代码?

0 投票
0 回答
63 浏览

c++ - 如果 C++ 中没有 printf() 会禁用同步效果时间吗?

我阅读了关于 ios_base::sync_with_stdio(false); 意义的答案;cin.tie(NULL); 这基本上说明了 ios_base::sync_with_stdio(false); 的重要性。当我们在 C++ 中混合使用 cout 和 printf() 并有助于加快时间时,这很重要,但是如果我们不使用 printf ,它仍然会加快时间吗?

我的理解说不,因为我们没有将 printf 的任何指令传递给 buffer 。

0 投票
0 回答
16 浏览

c - Scanf 不适用于不同线路上的多个输入

当我运行这个程序时,它会编译,但第二个 scanf 语句只是打印并且实际上并没有得到任何变量。但是,如果我删除第一次扫描,程序就可以工作。

0 投票
1 回答
41 浏览

c++ - 如何将 std::rename 与变量一起使用?

在我的程序中,我将数据存储在不同的文本文件中。数据属于一个对象,我称之为火箭。例如,火箭土星 5 号有一个标记为“Saturn5R.txt”的文本文件。我想要一个重命名火箭的选项,因此我还需要重命名文本文件。我在库中使用 std::rename 。我已经让它与这样的东西一起工作:

这可行,但我不想总是将 Saturn5R.txt 重命名为 Saturn6R.txt。我想要做的是能够将任何文本文件重命名为任何名称,我已经尝试过,但出现错误:

这将返回错误“[cquery] 数组初始值设定项必须是初始值设定项列表或字符串文字”。如何使用 std::rename 或任何其他文件重命名功能,允许我重命名我想要的任何文件而不用硬编码它们?

0 投票
1 回答
43 浏览

c++ - std::ios_base::sync_with_stdio(false),优点,缺点?

std::ios_base::sync_with_stdio( false );
Vsstd::cout.sync_with_stdio( false );和 和有什么不一样std::cin.sync_with_stdio( false );

假设我的代码不使用来自的任何 C 流<cstdio>并且仅使用来自的 C++ 流,我应该使用哪一个<iostream>

我想知道:

  1. 禁用同步有什么好处?
  2. 如果同步设置为false会出现什么问题?如果我想禁用同步,我应该考虑哪些事情?
0 投票
0 回答
32 浏览

c - 我使用 stdio.h 在 C 中编码的小问题

我目前正在编写代码,但我的代码一直存在问题。我将在下面添加它,但由于某种原因,每当我要求输入时,它都会跳过第二个扫描仪并直接进入第三个扫描仪。有谁知道问题可能是什么?

0 投票
0 回答
51 浏览

c - C-非阻塞读取所有标准输入

我正在寻找一些非阻塞函数(将返回任何可用的输入,但不会等待用户的更多输入),它将读取任何和所有stdin数据n到缓冲区并返回读取了多少字节。

我当前的尝试一直使用getchar()到 EOF,但这会等待输入。如果可能的话,我想避免多线程。