很抱歉,如果问题不明确。我的术语词汇很糟糕。无论如何我想将字符串设置为结构。例如,如果我的结构定义为:
struct all_routes{
int id;
char departure_code[4];
char arrival_code[4];
};
struct all_routes all_routes_divid[500];
我添加我想设置一个字符串,以包含从这个结构数组的一个元素中获取的值:
char firs_airport_code[4] = all_routes_divid[1].departure_code;
我该怎么做?
答案 0 :(得分:4)
使用strcpy -
char firs_airport_code[4];
......
strcpy(firs_airport_code, all_routes_divid[1].departure_code);
或使用memcpy -
char firs_airport_code[4];
......
memcpy(firs_airport_code, all_routes_divid[1].departure_code, 4);
或使用strncpy -
char firs_airport_code[4];
......
strncpy(firs_airport_code, all_routes_divid[1].departure_code, 4);
我建议使用strcpy
来简化(因为它通常用于复制字符串,名称也很直观;-))。但有时memcpy
执行速度比strcpy
快,因为它一次移动内存块,允许它执行一些优化(我不会在这里详述)。