问题标签 [ansi-c]

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 回答
7861 浏览

c - 在C中某个字符之后从字符串中删除文本

我正在从文件中读取行,这些行如下所示:

问题是:我想删除:(包括:)之后的所有内容。我尝试了所有我能在网上找到的东西,但它们似乎都在使用const char,而且这些线条是char指针。

0 投票
2 回答
5087 浏览

c - 在C中找到char的最大值

char通过简单的加法和测试数字何时变为负数来找到 a 的最大值:

循环在while前面测试,所以第一次c+1是负的,它会中断,我们打印c. 但是,编程输出的是负数!

为什么这个程序不输出127

0 投票
1 回答
570 浏览

c - ANSI C 和 C99 文字前缀和后缀列表

我在哪里可以找到 ANSI C 和 C99 的文字前缀和后缀列表?我正在寻找一个仅包含标准中定义的列表(即不包括编译器定义的前缀/后缀)。

我所说的例子:

0 投票
1 回答
615 浏览

c - 如何找到数字0-9出现在整数中的次数

我需要一些代码帮助,因为 heahline 说我需要找到一个数字 0-9 出现在一个整数中的次数并像这样打印它:300 in a base of 10 0:2 1:0 2:0 3:1 4:0 5:0 6:0 7:0 8:0 9:0 我试过了

它返回正确的答案,但不是我需要的方式。谢谢您的帮助!

0 投票
1 回答
45 浏览

c - 如何修复移动功能

大家好,我正在尝试构建一个动态的两人井字游戏,我的移动功能有问题,需要让玩家移动并检查棋盘,如果要求的位置清晰,如果清晰打印棋盘与移动并告诉其他玩家移动...

0 投票
1 回答
92 浏览

c - 函数无法在 c 中正确打印

我正在尝试构建一个动态迷宫,我到达了我获得大小并获得构建迷宫所需的字符的部分。但是构建迷宫的功能打印出它真的不对称我该如何解决?

我的代码:

0 投票
1 回答
1300 浏览

opc - 在 OPC UA ANSI C 堆栈中将节点添加到服务器的地址空间

我对 OPC UA ANSI C 堆栈有一个问题,这是一个非常简单的主题项目:只需将一个节点添加到服务器的地址空间,以便客户端可以读取它。

我知道有开源的 ANSI C 堆栈(open62541),但我需要使用官方的。

我在堆栈中找到了这两个对象:结构OpcUa_AddNodesItem(stackcore/opcua_types.h)和函数OpcUa_ServerApi_AddNodes(proxystub/serverstub/opcua_serverapi.c)。

我认为这个结构必须插入到函数内部,但是我在设置这两个对象的参数时遇到了一些问题。

在里面ansicservermain.c,我如何填充这两个对象以动态添加一个节点(例如,一个整数变量)?

0 投票
3 回答
1502 浏览

c - 什么会占用更多 FLASH 空间?静态变量或全局变量

正如标题所说,什么会占用 FLASH 中的更多空间(例如在 STM32 µC 中)?在函数内部声明全局变量还是声明静态变量?还是它们占用的空间相等?据我了解,这两个变量在程序的整个运行时都可用。只是他们的作用域不同。

0 投票
2 回答
465 浏览

c - 在 C89 中是否有任何成熟/标准化的方法来使用固定宽度的整数?

一些背景

自 C99 以来,标头stdint.h 是 C 标准的一部分。它包括确保为 8、16、32 和 64 位长整数的 typedef,包括有符号和无符号的。但是,此标头不是 C89 标准的一部分,而且我还没有找到任何直接的方法来确保我的数据类型具有已知长度。

进入实际主题

以下代码是 SQLite(用 C89 编写)如何定义 64 位整数,但我觉得它没有说服力。也就是说,我认为它不会在任何地方都有效。最糟糕的是,它可能会默默地失败:

所以,这就是我到目前为止一直在做的事情:

  • 检查“char”数据类型是否为 8 位长,因为不能保证为. 如果预处理器变量“CHAR_BIT”不等于8,编译失败
  • 现在“char”保证为 8 位长,我创建了一个包含几个无符号字符数组的结构,这些字符对应于整数中的几个字节。
  • 我为我的数据类型编写“运算符”函数。加法、乘法、除法、取模、从/到字符串的转换等。

我已经在一个头文件中抽象了这个过程,这是我能做到的最好的,但我想知道是否有更直接的方法来实现这一点。

我问是因为我想编写一个可移植的 C 库。

0 投票
1 回答
1031 浏览

c - 尾随换行符

我有一个包含 32 个二进制数字的文本文件,每个数字都在单独的行中,每个数字长 8 个字符。我想将它们mem作为字符串存储在数组中。

现在,这段代码看起来像这样:

不幸的是,我仍然得到换行符line,所以我的数组没有正确显示。

这是我打印数组时的控制台:

我打印数组的代码:

我也尝试使用: