求指点啊,关于转换为大写字母的程序崩溃
我写了一段把输入的单词转换为大写的程序,编译没问题,但运行后输入单词完毕按ctrl+z回车后程序就崩溃了,为什么啊啊啊啊,求指点
程序如下:
#include<iostream>
#include<stdlib.h>
#include<string>
#include<vector>
using namespace std;
int main()
{
string word;
vector<string>text;
while(cin>>word)
text.push_back(word);
for(vector<string>::size_type a=0;a!=text.size();++a)
{
for(string::size_type b=0;b!=text[b].size();++b)
{
text[a][b]=toupper(text[a][b]);
}
cout<<text[a]<<" ";
}
cout<<endl;
system("pause");
return 0;
}
[解决办法]
- C/C++ code
#include<iostream>#include<stdlib.h>#include<string>#include<vector>using namespace std;int main(){ string word; vector<string> text; while(cin>>word) text.push_back(word); for(vector<string>::size_type a=0;a!=text.size();++a) { for(string::size_type b=0;b!=strlen(text[a].c_str());++b) //这一句错了,应该是求单个字符串的长度 { text[a][b]=toupper(text[a][b]); } cout<<text[a]<<" "; } cout<<endl; system("pause"); return 0;}