以下是引用自由而无用在2021-8-27 17:21:11的发言:
online parser:
https://www.bccn.net/run/
#include <stdio.h>
#include <string.h>
#define DIG(_n) (_n + 0x30)
#define GP_MAGIC 0x5047
#define SEP 0X20
#define MAKEWORD(_v) ((SEP << 8) | (_v))
#define MAKEDWORD(_v) (MAKEWORD(_v) << 16) | 0x5047
int main(int argc, char *argv[])
{
char Gp_name[1024];
unsigned char i;
int j;
for(i = 0, j = 0; i < 10; i++, j += 4) {
*(int *)(&Gp_name[j]) = MAKEDWORD(DIG(i));
}
for(i = 10, j = 40; i < 100; i++, j += 5) {
*(int *)(&Gp_name[j]) = MAKEDWORD(DIG(i/10));
*(int *)(&Gp_name[j+3]) = MAKEWORD(DIG(i%10));
}
puts(Gp_name);
}
测试效果挺好。不过萌新看得瑟瑟发抖
(基础还不过关,没能看全懂)。
也感谢9楼的回复,一样效果很好。
-----------------------------------------------------------------------------------------------
在.net中,String和Int合并成新的String非常简单,简单的用个连接符&就可以了(int不转string也行)。
转到C中后,发现完全不一样,程序理念都不同. 另外指针、多进制的表达方式(0x...),也是看得头大,好难理解。 路很漫长啊。
-----------------------------------------------------------------------------------------------
谢谢大师们的指点!