Как извлечь строку из пользовательского ввода? - PullRequest
1 голос
/ 16 февраля 2011
milage = atoi(strtok(NULL, " "));
drive(&cars[carID-1], milage);

У меня есть что-то подобное для чисел, я хочу использовать то же самое для имени (символа).

Я пробовал это:

user = strtok(NULL, " ");
rent(&cars[carID-1], user);

но это не сработало.

Может ли кто-нибудь помочь?

Ответы [ 2 ]

3 голосов
/ 16 февраля 2011

Вы просто пытаетесь извлечь числа / строки из другой строки?Если это так, вы, вероятно, должны взглянуть на sscanf.Он работает так же, как scanf, но читает из строки вместо стандартного ввода.

char name[100]; int mileage;
sscanf("username 42", "%s %d", name, &mileage);
//name now contains "username" and mileage now contains 42
0 голосов
/ 16 февраля 2011

char * не является строковым типом.char * - указатель на байтовый массив.Массив байтов - это строковый тип.

Строки могут быть скопированы с помощью strdup ().Скопированные строки должны быть освобождены с помощью free ().

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