2011-02-16 76 views
1
milage = atoi(strtok(NULL, " ")); 
drive(&cars[carID-1], milage); 

我有這樣的數字,我想用同一個名字(字符)。如何從用戶輸入中提取字符串?

我嘗試這樣做:

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

,但沒有成功。

任何人都可以幫忙嗎?

+0

首先定義`work`。給出可以編譯和運行的代碼的最簡單示例,並描述您希望它執行的操作。否則,這不是一個問題。 – 2011-02-16 02:16:31

回答

3

你只是想從另一個字符串中提取數字/字符串? 如果是這種情況,你應該看看sscanf。它的工作原理與scanf一樣,但從字符串中讀取,而不是從標準輸入中讀取。

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

如果有來自用戶的傳入值,我應該如何使用sscanf? – bubdada 2011-02-16 02:38:13

0

char *不是字符串類型。 char *是一個指向字節數組的指針。字節數組是字符串類型。

可以使用strdup()複製字符串。複製的字符串需要用free()釋放。

相關問題