在C / C ++中有效地转换Hex,Binary和Decimal

我有正整数的3个基本表示: 十进制,在无符号长变量中(例如unsigned long int NumDec = 200 )。 hex,字符串变量(例如字符串NumHex =“C8” ) 二进制,字符串变量(例如字符串NumBin =“11001000” ) 我希望能够以最有效的方式在所有3个表示中的数字之间进行转换。 即实现以下6个function: unsigned long int Binary2Dec(const string & Bin) {} unsigned long int Hex2Dec(const string & Hex) {} string Dec2Hex(unsigned long int Dec) {} string Binary2Hex(const string & Bin) {} string Dec2Binary(unsigned long int Dec) {} string Hex2Binary(const string & Hex) […]

更改按值传递的指针

我给了一个函数foo(struct node *n) ,其中n是链表中的头节点。 现在foo应该改变它指向列表的末尾。 但这个function签名是否可行? 假设t是指向列表末尾的指针: n = t将无法工作,因为指针是按值传递的。 *n = *t不起作用,因为我会覆盖列表的头部。 我错过了什么?

如何用Sublime Text 2编译和运行一个简单的C程序?

我想用GCC编译一个简单的C程序。 我需要在sublime-build文件中放入什么呢?

在Mac OS X 10.11上安装OpenMP

如何让OpenMP在Mac OSX 10.11上运行,以便我可以通过终端执行脚本? 我已经安装了OpenMP: brew install clang-omp 。 当我运行时,例如: gcc -fopenmp -o Parallel.b Parallel.c以下表达式返回: fatal error: ‘omp.h’ file not found 我也尝试过: brew install gcc –without-multilib但不幸的是,这最终返回了以下内容(在首次安装一些依赖项之后): The requested URL returned error: 404 Not Found Error: Failed to download resource “mpfr–patch” 任何推荐的工作?

无限循环 – 顶部还是底部?

本着问题的精神, 你的循环测试是在顶部还是底部? : 你使用哪种风格进行无限循环,为什么? 而(真){} do {} while(true); for(;;){} label:… goto label;

沟通c程序和PHP

我想要一个显示输入值的网页(用PHP编写,因为它是我所知道的)。 我希望将该值传递给已经运行的ac程序。 我虽然使用套接字在两个进程之间进行通信,但我该如何设法做到这一点? 如何使用fsockopen连接到本地套接字。

C程序中的Shellcode

链接http://hackoftheday.securitytube.net/2013/04/demystifying-execve-shellcode-stack.html突出显示了编写execve shellcode的方法。 #include #include unsigned char code[] = “\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80”; main() { printf(“Shellcode Length: %d\n”, strlen(code)); int (*ret)() = (int(*)())code; ret(); } 行int (*ret)() = (int(*)())code; 做?

popen同时读写

是否可以读取和写入popen返回的文件描述符。 我有一个我想通过C控制的互动过程。如果用popen这是不可能的,有什么办法吗?

访问struct成员就好像它们是单个数组一样?

我有两个结构,其值应该计算一个沉重的平均值,就像这个简化版本: typedef struct { int v_move, v_read, v_suck, v_flush, v_nop, v_call; } values; typedef struct { int qtt_move, qtt_read, qtt_suck, qtd_flush, qtd_nop, qtt_call; } quantities; 然后我用它们来计算: average = v_move*qtt_move + v_read*qtt_read + v_suck*qtt_suck + v_flush*qtd_flush + v_nop*qtd_nop + v_call*qtt_call; 现在和他们一起我需要包含另一个变量。 现在,例如,我需要包含v_clean和qtt_clean 。 我无法将结构更改为数组: typedef struct { int v[6]; } values; typedef struct { int qtt[6]; […]

C是否有任何添加字符串的工具?

我正在创建一个函数,它返回一个表示为树的函数的导数 / + \ * ^ / \ / \ x 5 3.14 x 与表单的节点 typedef struct node { char * fx; // function struct node * gx; // left-hand side char * op; // operator struct node * hx; // right-hand side } node; 如果节点没有子节点,例如上例中的x , 3.14 ,则其op , gx和hx为NULL ,否则其fx为NULL 。 我计算导数的函数看起来像 char […]