【发布时间】:2012-10-12 10:55:39
【问题描述】:
在 C 语言中,假设我需要从字符串中获取输入
int num,cost;
char *name[10];
printf("Enter your inputs [quantity item_of_name at cost]");
scanf("%d%*c%s%*c%*s%*c%d",&num,name[0],&cost);
printf("quantity of item: %d",num);
printf("the cost of item is: %d",cost);
printf("the name of item is: %d",name[0]);
输入
12 点出书
输出
商品数量:1
物品的成本是:12
物品名称是:书
现在我想在 C++ 中做同样的事情。我不知道如何接近。 gets() 返回整个字符串。是否有我遗漏的特定函数?请帮忙。
【问题讨论】:
-
您的问题有点混乱,因为您的 C 代码不是从字符串而是从标准输入获取输入。你真正想做什么?此外,您使用的 C 函数也可以在 C++ 中使用。
-
他的 C 代码无论如何都坏了:他将一个未初始化的指针作为第三个参数传递给
scanf。即使它已被初始化:用户可以使用足够长的名称轻松地使程序崩溃。在 C 中,您从不在scanf中使用"%s"而不指定最大长度。 -
我正在尝试使用格式说明符将适当的输入(在字符串中)存储到相应的变量中。现在我从未见过在 C++ 中使用 C 函数(或我们在 C 中使用的函数)。 (我不是说你不能......只是我还是个初学者)。基本上我试图将问题从 C 转换为 C++。
-
@Peps C++ 的输入方式由 sehe 给出,但 C 方式也可以。