字符数组到整数
问题描述:
我有2个问题。字符数组到整数
在这里,在C++参考
#include <stdio.h>
int main()
{
char sentence []="Rudolph is 12 years old";
char str [20];
int i;
sscanf (sentence,"%s %*s %d",str,&i); <---
printf ("%s -> %d\n",str,i);
return 0;
}
问题1.到底是什么%* S在做什么?
我的程序我在建立一个哈希表。
它查询在
q- quit
i <int> - inserts integer //must be on same line
d <int> - deletes integer //must be on same line
etc....
For example:
in order to insert "35" I would have to type:
i 35
问题2.用户或者类型将在C++以来“Q”两者“Q”和“我35”参考工作具有与它没有整数?
char choice[10];
char option;
int i;
sscanf(choice, "%c %d", &option, &i);
将这工作如果 'Q' 被输入(没有整数附后)以及在 “i 35” 被输入(W /整数附后)?
答
这意味着它应该从流中跳过该类型。因此,例如,输入流是:
"Rudolph is 12 years old"
第一%s
将捕获"Rudolph"
,所述%*s
将“读出,但忽略” "is"
(即,不将其存储在一个变量中),然后将%d
将读取并捕获12
。
我不太清楚你的第二个问题是什么意思。我相信你问的是"%s %*s %d"
格式将与输入中的"q"
一起工作。在这种情况下,您应该使用不同的格式,例如"%s"
或"%c"
作为单个字符。
作为对您更新的问题的回应,您可以轻松地尝试并查看。在我的测试中,它的输入为"q"
:sscanf
离开int
单独但在"q"
中读取。
我会编辑我的帖子,使其更清晰 – juice 2013-04-10 23:51:44
已更新的答案。 – 2013-04-11 00:01:27