Как скопировать значения из структуры в массив символов - PullRequest
1 голос
/ 18 марта 2012

Извините, если вопрос не ясен.Мой словарь по терминологии плох.В любом случае я хочу установить строку как структуру.Например, если моя структура определена как:

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;

Как я могу это сделать?

1 Ответ

4 голосов
/ 18 марта 2012

Используя 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, потому что он перемещает блоки памяти за раз, что позволяет выполнять некоторую оптимизацию (я не буду вдаваться в подробности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...