如何从用户输入中提取字符串?

时间:2011-02-16 02:13:23

标签: c

milage = atoi(strtok(NULL, " "));
drive(&cars[carID-1], milage);

我对数字有这样的东西,我想对名字(字符)使用相同的东西。

我试过了:

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

但它没有成功。

任何人都可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

您是否只是想从另一个字符串中提取数字/字符串? 如果是这种情况,您应该查看sscanf。它的工作方式与scanf类似,但是从字符串而不是从标准输入读取。

char name[100]; int mileage;
sscanf("username 42", "%s %d", name, &mileage);
//name now contains "username" and mileage now contains 42

答案 1 :(得分:0)

char *不是字符串类型。 char *是指向字节数组的指针。字节数组是字符串类型。

可以使用strdup()复制字符串。需要使用free()释放复制的字符串。