1. 程式人生 > >從cin讀入一組詞並把它們存入一個vector物件,然後設法把所有詞都改寫為大寫字母的方法

從cin讀入一組詞並把它們存入一個vector物件,然後設法把所有詞都改寫為大寫字母的方法

#include<iostream>
#include<vector>
using namespace std;
int main()
{
	vector<string> v2;//空的
	string word;
	while(cin>>word)
	{
		v2.push_back(word);
	}
	for(auto &i:v2)
	{
		i=toupper(i);
	}
	for(auto i:v2)
	{
		cout<<i<<endl;
	}
}

結果報錯

[Error] no matching function for call to'toupper(std::basic_string<char>&)'

因為範圍for用錯了,它只對char有用,這裡的i是string

所以改成了下面的程式碼

#include<iostream>
#include<string>
#include<vector>
using namespace std;
int main()
{
	vector<string> v2;//空的
	string word;
	while(cin>>word)
	{
		v2.push_back(word);
	}
	//cout<<v2.size()<<endl;
	for(auto &i : v2)//這裡的i是字串,但是toupper只能處理字元 
	{
		for(auto &j:i)
		{
			j=toupper(j);
		}		
	}
	for(auto i:v2)
	{
		cout<<i<<endl;
	}
}

結果