string在C和C++中的用法

代码为求输入的N多个字符串中有多少个不同字符!

由于以前对string类型不了解,因此犯了一个错误!

strcmp函数的参数只适应于C中的字符串,而string

类型属于C++里面的一个类,因此,在用strcmp函数

来比较string类型的数据时,需将string类型转化成

C语言里面的类型,调用string.c_str()方法即可。

错误代码:

#include<iostream>
#include<string>
#include<cstring>
#include<set>
using namespace std;
int main()
{
	string aa;
	set< string >a;
	while()
	{
		cin>>aa;
		if(strcmp(aa,"#")==0)
			break;
		else
			a.insert(aa);	
	}
	cout<<a.size()<<endl;
}


 

改正代码

#include<iostream>
#include<string>
#include<cstring>
#include<set>
using namespace std;
int main()
{
	string aa;
	set< string >a;
	while()
	{
		cin>>aa;
		if(strcmp(aa.c_str(),"#")==0)
			break;
		else
			a.insert(aa);	
	}
	cout<<a.size()<<endl;
}


 

上一篇:getline(cin,str)与cin.getline(str)的用法


下一篇:houoj2048神、上帝以及老天爷