string在C和C++中的用法

简介: 代码为求输入的N多个字符串中有多少个不同字符! 由于以前对string类型不了解,因此犯了一个错误! strcmp函数的参数只适应于C中的字符串,而string 类型属于C++里面的一个类,因此,在用strcmp函数 来比较string类型的数据时,需将string类型转化成 C语言里面的类型,调用string.c_str()方法即可。

代码为求输入的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;
}


 

目录
相关文章
|
19天前
|
存储 C++ 容器
C++入门指南:string类文档详细解析(非常经典,建议收藏)
C++入门指南:string类文档详细解析(非常经典,建议收藏)
31 0
|
22天前
|
存储 算法 编译器
【C++ TypeName用法 】掌握C++中的TypeName:模板编程的瑞士军刀
【C++ TypeName用法 】掌握C++中的TypeName:模板编程的瑞士军刀
233 0
|
25天前
|
存储 JSON 算法
C++ JSON库 nlohmann::basic_json::boolean_t 的用法
C++ JSON库 nlohmann::basic_json::boolean_t 的用法
35 0
|
19天前
|
存储 编译器 C语言
C++_String增删查改模拟实现
C++_String增删查改模拟实现
46 0
|
9天前
|
存储 算法 C语言
【C++初阶】8. STL初阶 + String类
【C++初阶】8. STL初阶 + String类
45 1
|
9天前
|
C语言 C++
【C++初阶】9. string类的模拟实现
【C++初阶】9. string类的模拟实现
36 1
|
14天前
|
人工智能 安全 机器人
【C++】const_cast基本用法(详细讲解)
【C++】const_cast基本用法(详细讲解)
|
14天前
|
人工智能 机器人 中间件
【C++】C++回调函数基本用法(详细讲解)
【C++】C++回调函数基本用法(详细讲解)
|
22天前
|
算法 安全 Unix
【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
【C++ 20 信号量 】C++ 线程同步新特性 C++ 20 std::counting_semaphore 信号量的用法 控制对共享资源的并发访问
26 0
|
22天前
|
存储 C++
C++:String的模拟实现
C++:String的模拟实现