问题标签 [getc]

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 投票
0 回答
177 浏览

c++ - 读取文件的所有数据

在 C++ 中,我尝试使用 stdio.h(fopen、getc 等)逐个字符地完全读取文件。我已经完成了一个程序,它创建了一个资源管理器窗口并计算所选文件中的字母(和字节数)。它似乎适用于 .txt 文件,但对于其他文件格式则不起作用。有人可以解释为什么以及如何解决它吗?是否可以通过程序确定磁盘上的大小?

3 源代码:

主要代码:

浏览器功能:

资源管理器库:

使用 .txt 进行图像测试

使用 .pdf 进行图像测试

0 投票
2 回答
65 浏览

c - 这个c文件处理代码有什么问题?

我正在尝试从终端将内容写入文件中。正在创建文件,但内容未写入文件。

0 投票
1 回答
493 浏览

c - 使用 getc() 和 putc() 在 C 中复制文件文本 - 输出文件中的二进制代码

我创建了一个名为“text.txt”的文件,其中包含一个字符串,我想将该字符串复制到另一个名为“copiaqui.txt”的文件中。但是有一个问题。在输出文件中,我发现了这个:

[点击][1]。

为什么程序不能正确复制字符串?

代码 :

0 投票
1 回答
178 浏览

c - 如何在 C 中使用 getc() 从文件中获取浮点数?

我有一个带有“;”的文件 作为分隔符,我想获取一些字符并将它们保存为浮点数,我想出了这样的东西:

0 投票
1 回答
64 浏览

getc - getc() 跳过文本文件的第一个值 (C)

我正在尝试读取由分号分隔的文本文件,例如

3;7;9;

4;7;23;

但是,每次我打电话

它跳过第一个值 (3) 并且只输出:

;7;9;

4;7;23;

有没有办法获得第一个值?

谢谢

0 投票
2 回答
256 浏览

c - Getc 过度读取 \n 字符


我在使用这个可以读取文件的小功能时遇到了一些问题:

这是它读取的文件:

但这是程序的输出:

当之前有一个时,它基本上是读取一个额外的“\ n”。
关于为什么代码不起作用的任何想法?

谢谢

0 投票
1 回答
544 浏览

c - 在 C 中输入最多 256 个字符

输入输出问题:

我被要求从用户那里获取输入并解析它。问题是我的程序应该能够处理任何长度的输入,并将任何超过 256 个字符的输入行视为无效并相应地打印一条消息。

目前我fgets用来接收输入行并strtok稍后解析它,但这是一个很长的输入行的问题。

我该如何解决这个问题?

到目前为止我的代码:

0 投票
2 回答
93 浏览

c - 在 txt 文件中搜索关键字并用 C 记录它

我正在尝试使用 C 来搜索包含 C 代码的文件。它旨在搜索整个文件,找到某些关键字或字符(例如查找 Ints、Longs、For 循环等)并通过递增计数器记录它们,以及计算所有代码总行数。然后它意味着提供每个关键字的总数,因此可以根据关键字在文件中出现的频率计算百分比。

但是,我无法让代码识别关键字。我应该如何阅读代码的总行以及查找关键字?

0 投票
2 回答
1942 浏览

c - 如何使用 fgets() 从 CSV 文件中读取值而不跳过数据?

我正在尝试读取一个 CSV 文件,其中我只有用逗号分隔的双值。我正在使用该char *fgets(char *str, int n, FILE *stream)函数来读取行。在代码中,为了完成 do-while 循环,我使用getc()读取下一个字符的方法来确定我是否已读取文件末尾。问题是,getc()方法从下一行读取第一个字符,所以我丢失了数据(因为下一行中的第一个数字丢失了一个数字)。如您所见,除了第一行之外,所有第一列条目都丢失了它们的第一个字符。

我应该用什么来控制我的 while 循环?或者我应该使用另一种方法从 CSV 文件中读取数据吗?非常感谢

来自 my_file.csv 的数据:

3.0000,4.0000,5.0000,6.0000,7.0000
6.0000,5.0000,4.0000,3.0000,2.0000
9.0000,6.0000,3.0000,0.0000,-3.0000
12.0000,7.0000,2.0000,-3.0000,-8.0000
15.0000,8.0000,1.0000,-6.0000,-13.0000
18.0000,9.0000,0.0000,-9.0000,-18.0000

实际输出:

[在此处输入图片描述][1]

0 投票
1 回答
186 浏览

c - 为什么我的循环会创建额外的链表节点?

我正在使用链表。我想创建一个允许用户将节点添加到列表的循环。我的输出总是有两个额外的空白节点。我相信这与我使用输入函数来获取输入和取消循环的方式有关,但我无法确定问题出在哪里。

我尝试了多种变体,包括以循环表达式终止和 while(1) 在循环内终止。

我希望我在 Windows 10 上使用 Ubuntu 并不重要,但谁知道呢。

带输入:1、2、3 ...

所需的输出是:
> 1->2->3->null

当前输出为:
>1->2->3->0->0->null

提前致谢!