У меня есть char array
в C
Как получить значение строки из массива символов в C
#define BUFSIZE 2048
unsigned char buf[BUFSIZE];
char request[10];
strcat(request "GET key01");
request[10] = '\0';
buf = request;
Запроса поступающий из сети с помощью client-server socket
моделирования, но я не включал, что здесь, чтобы держать это просто.
В любом случае, я должен токенизировать строку buf
, но также хранить незакрытую копию. Я попытался это:
char* buf_for_token = buf;
printf("What is the buf before tokenization? %s\n", buf);
const char s[2] = " ";
char *token;
token = strtok(buf_for_token, s);
token = strtok(NULL, s);
printf("What is the buf after tokenization? %s\n", buf);
Мой вывод:
What is the buf before tokenization? GET key01
What is the buf after tokenization? GET
Я бы вместо того, чтобы, как:
What is the buf before tokenization? GET key01
What is the buf after tokenization? GET key01
Как я могу получить значение строки из массива полукокса и сэкономить копировать, что я могу манипулировать, не влияя на исходное значение?
Что такое 'strcat (запрос« GET key01 »),' должен делать? Это даже не действительный синтаксис. Вы имели в виду 'strcpy (request," GET key01 ");'? – Barmar
Простым ответом является создание копии буфера с помощью 'strcpy' и tokenize копии. – Barmar
token = strtok (buf_for_token, s); printf («Что такое buf после токенизации?% S \ n», buf); token = strtok (NULL, s); – Suing