C++ 转换;“字符串”;至;int";用一个「/&引用;中间
我希望用户键入当前日期,例如:C++ 转换;“字符串”;至;int";用一个「/&引用;中间,c++,C++,我希望用户键入当前日期,例如: 25/05/2011 (所有内容放在一起,只是用/分隔) 然后我想把这个输入分成3个int变量D是天,M是月,Y是年 以下是到目前为止我得到的信息: #include <iostream> using namespace std; string TOGETHER; int D, M, Y; int main() { cin >> TOGETHER; /* What should I do here?
25/05/2011
(所有内容放在一起,只是用/
分隔)
然后我想把这个输入分成3个int
变量D
是天,M
是月,Y
是年
以下是到目前为止我得到的信息:
#include <iostream>
using namespace std;
string TOGETHER;
int D, M, Y;
int main()
{
cin >> TOGETHER;
/*
What should I do here?
*/
cout << "\n";
cout << D << "/" << M << "/" << Y << "\n";
return 0;
}
#包括
使用名称空间std;
串在一起;
int D,M,Y;
int main()
{
cin>>一起;
/*
我在这里该怎么办?
*/
你可以试试看。或者你可以试试看。或者你可以试试看。或者你可以试试看。或者你可以试试看。或者你可以试试看。或者你可以在上一起使用sscanf
在上。c_str()
,或者一起使用atoi
将字符串拆分成以“/”作为分隔符的子字符串。查找或者类似的内容
或者您可以只使用scanf
进行输入,但不建议这样做(更难验证有效输入)。您可以一起使用上的sscanf
。c_str()
,或者一起使用atoi
将字符串拆分为以“/”作为分隔符的子字符串。查找或类似内容
或者您可以使用scanf进行输入,但不建议这样做(验证有效输入比较困难)。您应该使用:
std::向量DMY;
boost::split(DMY,合起来,boost::是(“/”)的任意值);
D=boost::词法转换(DMY[0]);
M=boost::词法转换(DMY[1]);
Y=boost::词法转换(DMY[2]);
您应该使用:
std::向量DMY;
boost::split(DMY,合起来,boost::是(“/”)的任意值);
D=boost::词法转换(DMY[0]);
M=boost::词法转换(DMY[1]);
Y=boost::词法转换(DMY[2]);
步骤1:使用“/”拆分字符串,并在向量中对其进行排序
split( strLatLong , '|' , Vec_int) ; //Function to call
std::vector<std::int> split(const std::string &s, char delim, std::vector<int> &elems)
{
std::stringstream ss(s);
int item;
while(std::getline(ss, item, delim))
{
elems.push_back(item);
}
return elems;
}
cout << vec_int[0]<<vec_int[1]<<vec_int[2];
split(strLatLong,|,Vec_int);//要调用的函数
std::vector split(常量std::string&s、char-delim、std::vector&elems)
{
标准::stringstream ss(s);
国际项目;
while(std::getline(ss,item,delim))
{
元素推回(项目);
}
返回元素;
}
cout步骤1:使用“/”拆分字符串并在向量中对其进行排序
split( strLatLong , '|' , Vec_int) ; //Function to call
std::vector<std::int> split(const std::string &s, char delim, std::vector<int> &elems)
{
std::stringstream ss(s);
int item;
while(std::getline(ss, item, delim))
{
elems.push_back(item);
}
return elems;
}
cout << vec_int[0]<<vec_int[1]<<vec_int[2];
split(strLatLong,|,Vec_int);//要调用的函数
std::vector split(常量std::string&s、char-delim、std::vector&elems)
{
标准::stringstream ss(s);
国际项目;
while(std::getline(ss,item,delim))
{
元素推回(项目);
}
返回元素;
}
cout在这里(阅读注释以了解解释):
#包括
#包括
//将字符串转换为任意值(int)
//现在还不必担心细节,只需关注使用。
//它的用法如下:int myint=fromstr(mystring);
样板
T fromstr(const std::string&s)
{
std::istringstream流;
T;
流>>t;
返回t;
}
串在一起;
int D,M,Y;
int main()
{
std::字符串温度;
int pos=0;
int len=0;
//获取用户输入
性病::cin>>一起;
//确定长度
for(len=0;加在一起[len]!='/';len++)
;
//从字符串中提取日部分
温度=在一起的次级变压器(位置、长度);
//将temp转换为整数,并放入D
D=fromstr(温度);
//将pos增加len+1,因此它现在是“/”后面的字符
pos+=len+1;
//确定长度
for(len=0;加在一起[len]!='/';len++)
;
//从字符串中提取月份部分
温度=在一起的次级变压器(位置、长度);
//将temp转换为整数,并将其转换为M
M=fromstr(temp);
//将pos增加len+1,因此它现在是“/”后面的字符
pos+=len+1;
//确定长度
for(len=0;加在一起[len]!='/';len++)
;
//从字符串中提取年份部分
温度=在一起的次级变压器(位置、长度);
//将temp转换为整数,并输入Y
Y=fromstr(温度);
std::cout在这里(阅读注释以获取解释):
#包括
#包括
//将字符串转换为任意值(int)
//现在还不必担心细节,只需关注使用。
//它的用法如下:int myint=fromstr(mystring);
样板
T fromstr(const std::string&s)
{
std::istringstream流;
T;
流>>t;
返回t;
}
串在一起;
int D,M,Y;
int main()
{
std::字符串温度;
int pos=0;
int len=0;
//获取用户输入
性病::cin>>一起;
//确定长度
for(len=0;加在一起[len]!='/';len++)
;
//从字符串中提取日部分
温度=在一起的次级变压器(位置、长度);
//将temp转换为整数,并放入D
D=fromstr(温度);
//将pos增加len+1,因此它现在是“/”后面的字符
pos+=len+1;
//确定长度
for(len=0;加在一起[len]!='/';len++)
;
//从字符串中提取月份部分
温度=在一起的次级变压器(位置、长度);
//将temp转换为整数,并将其转换为M
M=fromstr(temp);
//将pos增加len+1,因此它现在是“/”后面的字符
pos+=len+1;
//确定长度
for(len=0;加在一起[len]!='/';len++)
;
//从字符串中提取年份部分
温度=在一起的次级变压器(位置、长度);
//将temp转换为整数,并输入Y
Y=fromstr(温度);
STD:你选择了3种语言。你想要哪种语言?一个代码样本只能是C++——我删除了其他的标签。你标记了3种语言。你想要哪种语言?一种解决方案?代码示例只能是C++。我删除了其他的标签。如果你用了这个,请把它标记为你的答案:)一定要把它标记为你。r如果你用的是这个,回答:)
#include <iostream>
#include <string>
// Converts string to whatever (int)
// Don't worry about the details of this yet, focus on use.
// It's used like this: int myint = fromstr<int>(mystring);
template<class T>
T fromstr(const std::string &s)
{
std::istringstream stream(s);
T t;
stream >> t;
return t;
}
std::string TOGETHER;
int D, M, Y;
int main()
{
std::string temp;
int pos = 0;
int len = 0;
// Get user input
std::cin >> TOGETHER;
// Determine length
for(len = 0; TOGETHER[len] != '/'; len++)
;
// Extract day part from string
temp = TOGETHER.substr(pos, len);
// Convert temp to integer, and put into D
D = fromstr<int>(temp);
// Increase pos by len+1, so it is now the character after the '/'
pos += len + 1;
// Determine length
for(len = 0; TOGETHER[len] != '/'; len++)
;
// Extract month part from string
temp = TOGETHER.substr(pos, len);
// Convert temp to integer, and put into M
M = fromstr<int>(temp);
// Increase pos by len+1, so it is now the character after the '/'
pos += len + 1;
// Determine length
for(len = 0; TOGETHER[len] != '/'; len++)
;
// Extract year part from string
temp = TOGETHER.substr(pos, len);
// Convert temp to integer, and put into Y
Y = fromstr<int>(temp);
std::cout << "\nDate:\n";
std::cout << "D/M/Y: " << D << "/" << M << "/" << Y << "\n";
std::cout << "M/D/Y: " << M << "/" << D << "/" << Y << "\n";
return 0;
}