操纵输出c++; 我是C++新手,我正在尝试写一个简单的杂货店购物软件,输入的格式是这样的: Item Name someid expiryDate manufacturerId cost
例如: 洗发水 8879 05 04 2015 1010 100.03 我想将其格式化为: 8879 2015年4月5日1000美元100.03美元等 我如何做到这一点 我的尝试: 我尝试使用子字符串,然后将输入分解,然后以所需格式输出,但我遇到的问题是,例如,价格可能是45.00左右,那么我的方法将失败 我怎样才能做到这一点操纵输出c++; 我是C++新手,我正在尝试写一个简单的杂货店购物软件,输入的格式是这样的: Item Name someid expiryDate manufacturerId cost,c++,C++,例如: 洗发水 8879 05 04 2015 1010 100.03 我想将其格式化为: 8879 2015年4月5日1000美元100.03美元等 我如何做到这一点 我的尝试: 我尝试使用子字符串,然后将输入分解,然后以所需格式输出,但我遇到的问题是,例如,价格可能是45.00左右,那么我的方法将失败 我怎样才能做到这一点 谢谢如果您正在从控制台输入读取,您可以使用cin和istringstream: #include <iostream> #include <string
谢谢如果您正在从控制台输入读取,您可以使用cin和istringstream:
#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
int id;
int mm,dd,yy;
int manufacturerId;
double price;
string priceString;
char character; // used to read '/' and other symbols
cin >> id >> mm >> character >> dd >> character >> yy >> manufacturerId;
cin >> priceString;
istringstream stream( priceString );
stream >> character >> price;
return 0;
}
然后你可以用
date d;
cin >> d
阅读更加简洁且代码简单的日期。检查
std::istringstream
以提取子部分。@Matt我看不出这里提到XML格式有任何关联。感谢您的解决方案,但我的问题没有什么不同。从某种意义上说,我的输入格式是:8879 05 04 2015 1010 100.03。我基本上希望获取这些输入,然后将它们存储在变量中,如月份、日期、年份、id、价格等。可能使用for循环。如何实现这一点?在代码中,我有一些变量(id、mm、dd、yy、price)来保存这些信息,并在读取输入流时填充它们。如果您运行代码并在控制台中粘贴8879 05 04 2015 1010$100.03,您将在这些变量中提取数据。
date d;
cin >> d