24得票2回答
打开任何文件 - 这是可能的吗?

我曾经编写Windows程序,但现在想尝试制作跨平台应用程序。如果您不介意,我有一些问题: 问题1 是否有一种方法可以使用裸的ANSI C打开UNICODE\ASCII文件并自动检测其编码? MSDN表示,如果使用“ccs = UNICODE”标志,则fopen()可以在各种UNICODE...

24得票2回答
在 ANSI C 中,我能否在一行上返回一个已初始化的结构体?

我只是想知道我是否可以做类似的事情... typedef struct Result{ int low, high, sum; } Result; Result test(){ return {.low = 0, .high = 100, .sum = 150}; } 我知道那...

23得票1回答
C语言结构体的第一个字段是否总是保证在偏移量0处?

关于C编程语言... C/C++结构偏移问题的一部分指出"&不总是指向结构的第一个字段的第一个字节"。 但是,在http://www.lysator.liu.se/c/rat/c5.html的"ANSI Rationale"中,第3.5.2.1节“结构和联合说明符”中指出“开头不得...

23得票1回答
char* var; 和 char *var; 有什么区别?

想知道这两者之间有什么区别: char* var; char *var; 还是只是个人偏好(间距)的问题?

20得票6回答
C语言中的多维数组:它们是否是锯齿形的?

关于C编程语言(ANSI-C)的一个简单问题: C中的多维数组是否是嵌套的? 我的意思是,我们是在谈论“数组的数组”(一个指向内存中其他地址的指针数组),还是只是“长一维数组”(按顺序存储在内存中)? 我困扰的是:我有点确定: matrix[i][j]等同于*(*(matrix + i...

20得票4回答
我应该使用ANSI C(C89)吗?

现在是2012年,我正在使用C语言编写一些代码。我应该继续使用C89吗?是否还有不支持C99的编译器存在呢? 我不介意使用/* */而不是//。 我对于C89禁止在代码中混合声明并不确定。我倾向于认为将所有声明放在一个地方更易读,如果不是这样,那么函数就太长了。 可变长度数组看起来很有用...

19得票1回答
最新的 ANSI C 标准文档在哪里获取?

我在哪里可以找到最新的ANSI C标准文档?

18得票3回答
在 Ansi C 中的位设置和位移

有人可以解释一下这个位运算符号的语法吗? #define Bitset(var,bitno) ((var) |=1UL<<(bitno)) 我知道它会设置var的位,但我无法理解语法。

16得票4回答
为什么这个正则表达式更快?

我正在使用C#编写一种Telnet客户端,其中一部分需要解析的是ANSI/VT100转义序列,具体来说,仅涉及用于颜色和格式化的转义序列(详见此处)。 我有一种方法是查找所有代码并将其删除,以便在需要时可以呈现没有任何格式的文本: public static string Str...

16得票3回答
从ANSI C代码中获取控制流图

我正在构建一个用于测试 ANSI C 应用程序的工具。只需加载代码,查看控制流图,运行测试,标记所有被触及的顶点。我试图通过解析代码自己构建控制流图。不幸的是,如果代码嵌套,它会变得混乱。GCC 提供了从编译代码获取控制流图的能力。我可以为其输出编写解析器,但我需要行号来设置断点。在使用 -f...