总的代码如下;
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <Windows.h>
#define shell_command "aaaasdff"
#define snprintf(dest, size, format, ...) _snprintf_s(dest, size, size - 1, format, ## __VA_ARGS__)
typedef struct NOde
{
char szname[300];
}NODE;
int main()
{
NODE *node;
node = (NODE*)malloc(sizeof(NODE));
char snz[100];
char name[100] = "asdasdf";
char session_key[9];
int i;
char buf[10];
strncpy(node->szname, name, sizeof(name));
//strcpy(node->szname, name);
srand((unsigned)time(NULL));
snprintf(session_key, sizeof(session_key), "%08x", rand());
puts(session_key);
strncpy(node->szname, session_key, sizeof(session_key));
puts(node->szname);
memcpy(node->szname, session_key, 8);
puts(node->szname);
system("pause");
return 0;
}
字符串拷贝函数:strncpy和memcpy的区别
产生固定长度的随机数函数:snprintf()。