c89

    0热度

    1回答

    我写了这样的示例代码: #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <errno.h> char* print_errno_msg(int value); int main(void){ struct stat buffer;

    8热度

    2回答

    如何获取errno值(C语言)的错误消息?例如,我可以写这样的文件(errno_messages.h): #include <errno.h> char* get_errno_message(void){ switch (errno) { case 0: return ""; break; case EPERM: return

    0热度

    1回答

    我使用Visual Studio 2005的C++编译器(但使用C89型ANSI C的编码),但无法定义一个“真”与“假”的关键字为使用如下: #define true 1 #define false 0 我已经使用这个确切的代码成功地使用了Green Hills C++编译器,但visual studio的行为就像“true”和“false”已经是关键字一样。这是真的?我可以用我自己的定义

    5热度

    2回答

    我的代码目前看起来是这样的(这些步骤分裂成多个功能): /* open file */ FILE *file = fopen(filename, "r+"); if(!file) { /* read the file */ /* modify the data */ /* truncate file (how does this work?)*/

    0热度

    2回答

    我在编译下面的C程序时遇到了困难,这只是我试图了解winsock的开始。 问题是,编译程序client.c时,我得到一个错误(C2143)缺少';'之前输入' 但是当我将源文件重命名为'client.cpp'时,程序编译时没有错误或警告。 我不明白在C语言中是错误的语法错误,但不是C++。 #define WIN32_LEAN_AND_MEAN #define DEBUG #include

    2热度

    1回答

    Cosider在以下表达式中的序列点 i = (++i,i++,i); 如果我是正确执行的步骤将是如下: 1) ++i, i++ 2) step1,i 3) i = step2 对于第1步中的评估,对于被称为定义的构造(因为在评估逗号运算符后有一个序列点),i的值应该只修改一次。但我认为情况并非如此。因此它应该是未定义的。 请参阅此answer。这里上面的表达被称为定义。我错过了什

    7热度

    1回答

    当一个整数超出该类型的范围时,最大值+ 1被加/减(取决于数字范围的哪一部分)。 例如, unsigned short num = 65537; NUM将具有1的值(65536中减去)。 我的问题是:为什么会发生? 我的直觉告诉我,它与进位标志和溢出标志有关,因为最大值总是1111 .... 在此先感谢!

    0热度

    2回答

    我在尝试执行从一个位置到另一个位置的结构副本时,在Visual Studio 2005中使用标准C编译器时遇到了编译器问题。 的类型是在一个文件中定义如下: definition.h #define MAX 7 typedef struct{ char recordtext[18]; boolean recordvalid; }recordtype; typdef

    1热度

    3回答

    我只是想知道,当你输入文本只是使用一个普通的应用程序,如textedit(在OSX上),它仍然包含相同的'\ 0'每个字符串的末尾,以便在通过fgets()读取时,是否会选取所述字符并停止阅读? 因为我创建了一个普通的文本文件,但fgets()一直停留在指定长度的末尾,而不是当它找到该字符时,所以如果在写入普通文本时它确实存在文件。 例如: How Are You There 与fgets(

    1热度

    1回答

    我一直在试图让一个指针等于另一个指针相当一段时间,但它只是不会这样做,我不知道为什么。 的结构是: typedef struct{ struct listNode* next; } listNode; typedef struct{ listNode* head; } linkedList; 但是在代码中,当我尝试执行: 节点 - >未来=列表 - >头 我收到了“