在宏定义中使用多个宏

我试图在另一个宏的定义中使用多个宏,但似乎有问题将它们连接在一起。 这是我正在尝试做的非常简化的版本: #include #define PICK_SET_A #ifdef PICK_SET_A #define SET A #endif #ifdef PICK_SET_B #define SET B #endif #define ENABLE_VAR_1_A 1 #define ENABLE_VAR_2_A 1 #define ENABLE_VAR_1_B 0 #define ENABLE_VAR_2_B 0 #define MACRO_RESOLVE(var,set) ENABLE_VAR_##var##_##set #define ENABLE_VAR_1 MACRO_RESOLVE(1, SET) #define ENABLE_VAR_2 MACRO_RESOLVE(2, SET) int main(int argc, char **argv) { fprintf(stdout, “VALUE: %d\n”, ENABLE_VAR_1); return 0; } 我希望结果为0 。 […]

CGI c文件打开

我在c中创建了一个cgi文件。 我有一个html文件,用户可以在其中选择他/她想要上传的文件。 问题是,当我选择文件时,文件的值只是文件的名称而不是目录,所以我无法读取文件。 我该如何访问该文件? Title: Author: File: c – cgi代码 void getParam(const char *Name, char Value[256]) { char *pos1 = strstr(data, Name); if (pos1) { pos1 += strlen(Name); if (*pos1 == ‘=’) { // Make sure there is an ‘=’ where we expect it pos1++; while (*pos1 && *pos1 != ‘&’) { if (*pos1 == […]

如何将hex数字打印到文件?

我试图将0000到fffe的每个hex值存储到一个文件中。 我如何使用fwrite或fprintf将这些值放入文件中? 目前,我有一个while循环,使用printf打印所有数字(这是控制台屏幕),但我需要在文件中。

使用include宏展开定义宏

我正在尝试定义一个宏。 这个想法是,当它扩展时,它将包括一个标题。 例如: #define function() \ include 非常感谢。

帮助:图形竞赛问题:可能是修改后的Dijkstra或其他替代算法

我正在尝试做关于图表的比赛练习: XPTO是一个勇敢的冒险家(对他自己的好处来说有点过于苛刻),无论多么荒凉,他都吹嘘探索宇宙的每个角落。 事实上,他并没有访问人们可以轻松居住的行星,他更喜欢那些只有一个疯子才会有充分理由去的地方(例如数百万的学分)。 他的最新攻击是试图在Proxima III中生存。 问题在于Proxima III遭受高腐蚀性酸的风暴,这些酸会破坏一切,包括专门设计用于抵抗腐蚀的太空服。 我们勇敢的探险家被困在这些风暴之中的一个长方形区域。 幸运的是,他有一种仪器能够测量每个扇区上酸的精确浓度以及它对太空服的损害程度。 现在,他只需要知道他是否能逃脱风暴。 问题 问题在于找到一条允许XPTO逃离有害风暴的逃生路线。 你将获得太空服的初始能量,矩形区域的大小以及太空服在站在每个区域时所遭受的伤害。 你的任务是找到出口部门,达到它所需的步数以及他的衣服离开矩形区域时的能量。 选择的逃生路线应该是最安全的(即,他的宇航服将受损最少)。 请注意,如果他的西装的能量达到零,XPTO将会消亡。 如果有多个可能的解决方案,请选择使用最少步骤的解决方案。 如果至少有两个具有相同步数(X1,Y1)和(X2,Y2)的扇区,则选择第一个,如果X1 <X2,或者X1 = X2和Y1 <Y2。 约束0 <E≤30000套装的起始能量 0≤W≤500矩形的宽度 0≤H≤500矩形的高度 0 <X <W起始X位置 0 <Y <H起始Y位置 0≤D≤10000每个部门受到的损害 输入 给出的第一个数字是测试用例的数量。 每个案例将由一个整数为E,X和Y的行组成。以下行将包含整数W和H.以下行将保存包含太空服在相应扇区中将遭受的损害D的矩阵。 请注意,与计算机爱好者的情况一样,(1,1)对应于左上角。 产量 如果有解决方案,输出将是剩余能量,出口扇区的X和Y坐标以及将导致Rodericus安全的路线的步数。 如果没有解决方案,这句话再见残酷的世界! 将写。 样本输入 3 40 3 3 7 8 12 11 12 11 3 12 12 […]

C中的声明语句和赋值语句之间的区别?

我是编程和尝试学习C的新手。我正在读一本书,在那里我读到了这些陈述但却无法理解它们的含义。

如何解析通过TCP收到的数字字符串

我通过TCP从传感器接收数据,输出如下: 它是双倍价值的6倍。 我只需要前三个。 在X,Y和Z方向上的力可以获得合力。 我被告知我正在回收’传感器流的双字符串表示’并且我应该使用atof函数,该函数接受表示浮点数的字符串并返回double。 所以,问题是。 我正在使用以下代码从传感器接收数据 char recvbuf[DEFAULT_BUFFER_LENGTH]; int iResult = recv(ConnectSocket, recvbuf, DEFAULT_BUFFER_LENGTH, 0); double n; n = atof (recvbuf); 输出总是错误的,要么我得到错误的数据,30000而不是0.1414,或者我读取0.15为0.有关如何获得所有3个数据的任何提示? 我使用BUFFER = 50,因为我不需要阅读更多,我甚至不知道总共多长时间,来自传感器的字符串是。

使用scanf()输入问题

我是C的新手,所以我在使用scanf()时遇到了一些麻烦。 #include #include int main() { int height; int weight; printf(“Enter height in inches:\n”); scanf(“%d”, &height); printf(“Enter weight in pounds:\n”); scanf(“%d”, &weight); printf(“You are %d inches tall and weigh %d pounds.”, height, weight); return 0; } 我很确定这是正确的语法,但是当我运行它时,它显示一个空屏幕,在我输入2个数字后,它显示: 64 120 以英寸为单位输入高度 以磅为单位输入重量: 你身高64英寸,体重120磅。 根据一些教程,在我输入第二个数字之前,它应该显示“以英寸为单位输入高度:”,然后输入第一个数字和“以磅为单位输入重量:”。 请帮我! 我正在使用Eclipse编写程序,MinGW作为编译器,如果相关的话。

创建一个int数组,其大小基于NSArray的大小

我正在尝试根据运行时获得的大小创建并归零一个int数组: size = [gamePiece.availableMoves.moves count]; //debugger shows size = 1; int array[size]; //debugger shows this as int[0] ! memset(array, 0, size); indexes = array; size和indexes都是这个类的ivars: int size; int* indexes; 不过,我最终得到了一个0长度的数组。 如何使用[gamePiece.availableMoves.moves count]指示的大小创建它?

将函数作为参数传递给其他函数

我一直在读这个主题。 我已经提到了很多可能的解决方案,所以请不要将我的问题标记为重复,只需要解决这个问题。 我有一个函数来计算一些代码的执行时间。 此代码将作为参数发送(将是一个函数)。 这是计算时间的函数: double executionTime( /* HERE I WANNA PASS THE FUNCTION TO CALCULATE EXECTIME*/ ) { LARGE_INTEGER frequency; LARGE_INTEGER start; LARGE_INTEGER end; double interval; QueryPerformanceFrequency(&frequency); QueryPerformanceCounter(&start); // HERE GOES CODE TO PROCCESS QueryPerformanceCounter(&end); interval = (double) (end.QuadPart – start.QuadPart) / frequency.QuadPart; return (interval); } 我试过这个(和另一种方式,但它是最明显的): double executionTime( void (*f)() ) { LARGE_INTEGER […]