我想用vector来录入数据vector问题
时间:2011-11-28
来源:互联网
从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。$ a5 H/ l* |) R& A8 {( _3 N; B
我想用vector来录入数据. w& K/ _8 [0 W( b
1 k+ C& w) D9 ?上面的程序有点问题,9 ] u% B' R/ k$ k* f+ A
是不是需要对 '+' 进行运算符重载啊?, e1 ?! E7 x, ~) D# {6 S- Q- d
如果是,那么该如何重载呢?
我想用vector来录入数据. w& K/ _8 [0 W( b
复制内容到剪贴板
#include<vector>
#include<string>
#include<fstream>
using namespace std;
void main()
{
string word;
cout<<"请输入一串字符(如果结束了请按ctrl+z):"<<endl;
vector<string> text;
while(cin>>word)
{
text.push_back(word);
}
ofstream fout("test.txt");
for(int i=0;i<text.size();i++)
fout<<text;
fout<<endl;
for(i=0;i<text.size();i++)
text=text-32; //这里有问题
for(i=0;i<text.size();i++)
fout<<text;
fout.close();
}7y
代码:
#include<iostream>#include<vector>
#include<string>
#include<fstream>
using namespace std;
void main()
{
string word;
cout<<"请输入一串字符(如果结束了请按ctrl+z):"<<endl;
vector<string> text;
while(cin>>word)
{
text.push_back(word);
}
ofstream fout("test.txt");
for(int i=0;i<text.size();i++)
fout<<text;
fout<<endl;
for(i=0;i<text.size();i++)
text=text-32; //这里有问题
for(i=0;i<text.size();i++)
fout<<text;
fout.close();
}7y
1 k+ C& w) D9 ?上面的程序有点问题,9 ] u% B' R/ k$ k* f+ A
是不是需要对 '+' 进行运算符重载啊?, e1 ?! E7 x, ~) D# {6 S- Q- d
如果是,那么该如何重载呢?
作者: Tyrante 发布时间: 2011-11-28
复制内容到剪贴板
#include<vector>
#include<string>
#include<fstream>
using namespace std;
void main()
{
string word;
cout<<"请输入一串字符(如果结束了请按ctrl+z):"<<endl;
vector<string> text;
while(cin>>word)
{
text.push_back(word);
}
cin.clear();
ofstream fout("test.txt");
int i,j;
for( i=0;i<text.size();i++)
fout<<text[i]<<' ';
fout<<endl;
for(i=0;i<text.size();i++)
{
for(j=0;j<(text[i]).size();j++)
{
(text[i])[j]=toupper((text[i])[j]);//你怎么能直接对字符串处理呢
}
}
for(i=0;i<text.size();i++)
fout<<text[i]<<' ';
fout.close();
}
代码:
#include<iostream>#include<vector>
#include<string>
#include<fstream>
using namespace std;
void main()
{
string word;
cout<<"请输入一串字符(如果结束了请按ctrl+z):"<<endl;
vector<string> text;
while(cin>>word)
{
text.push_back(word);
}
cin.clear();
ofstream fout("test.txt");
int i,j;
for( i=0;i<text.size();i++)
fout<<text[i]<<' ';
fout<<endl;
for(i=0;i<text.size();i++)
{
for(j=0;j<(text[i]).size();j++)
{
(text[i])[j]=toupper((text[i])[j]);//你怎么能直接对字符串处理呢
}
}
for(i=0;i<text.size();i++)
fout<<text[i]<<' ';
fout.close();
}
作者: 月夜幻影 发布时间: 2011-11-28
应该首先将你的字符串中的所有大写改为小写之后,才往磁盘写文件.
3 E& r) S8 C3 }% J改小写的方法是遍历每个字符串,遇到大写字母就改小
3 E& r) S8 C3 }% J改小写的方法是遍历每个字符串,遇到大写字母就改小
作者: Bill_Hoo 发布时间: 2011-11-28
还有比较简便点的方法,用algorithm中的transform来实现
复制内容到剪贴板
using namespace std;
int main(int argc, char **argv)
{
.....
while(cin>>word)
{
transform(word.begin(), word.end(), word.begin(), toupper);
text.push_back(word);
}
.......
return 0;
}
代码:
#include <algorithm>using namespace std;
int main(int argc, char **argv)
{
.....
while(cin>>word)
{
transform(word.begin(), word.end(), word.begin(), toupper);
text.push_back(word);
}
.......
return 0;
}
作者: 紫色枫叶 发布时间: 2011-11-28
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28