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;
}


 

目录
相关文章
|
9月前
|
存储 安全 C语言
C++ String揭秘:写高效代码的关键
在C++编程中,字符串操作是不可避免的一部分。从简单的字符串拼接到复杂的文本处理,C++的string类为开发者提供了一种更高效、灵活且安全的方式来管理和操作字符串。本文将从基础操作入手,逐步揭开C++ string类的奥秘,帮助你深入理解其内部机制,并学会如何在实际开发中充分发挥其性能和优势。
|
11月前
|
存储 安全 编译器
第二问:C++中const用法详解
`const` 是 C++ 中用于定义常量的关键字,主要作用是防止值被修改。它可以修饰变量、指针、函数参数、返回值、类成员等,确保数据的不可变性。`const` 的常见用法包括:
|
5月前
|
对象存储 C++ 容器
c++的string一键介绍
这篇文章旨在帮助读者回忆如何使用string,并提醒注意事项。它不是一篇详细的功能介绍,而是一篇润色文章。先展示重载函数,如果该函数一笔不可带过,就先展示英文原档(附带翻译),最后展示代码实现与举例可以直接去看英文文档,也可以看本篇文章,但是更建议去看英文原档。那么废话少说直接开始进行挨个介绍。
94 3
|
9月前
|
C++
模拟实现c++中的string
模拟实现c++中的string
|
12月前
|
存储 C++ 容器
【C++】map、set基本用法
本文介绍了C++ STL中的`map`和`set`两种关联容器。`map`用于存储键值对,每个键唯一;而`set`存储唯一元素,不包含值。两者均基于红黑树实现,支持高效的查找、插入和删除操作。文中详细列举了它们的构造方法、迭代器、容量检查、元素修改等常用接口,并简要对比了`map`与`set`的主要差异。此外,还介绍了允许重复元素的`multiset`和`multimap`。
275 3
【C++】map、set基本用法
|
12月前
|
C语言 C++ 容器
【c++丨STL】string模拟实现(附源码)
本文详细介绍了如何模拟实现C++ STL中的`string`类,包括其构造函数、拷贝构造、赋值重载、析构函数等基本功能,以及字符串的插入、删除、查找、比较等操作。文章还展示了如何实现输入输出流操作符,使自定义的`string`类能够方便地与`cin`和`cout`配合使用。通过这些实现,读者不仅能加深对`string`类的理解,还能提升对C++编程技巧的掌握。
466 5
|
12月前
|
存储 编译器 C语言
【c++丨STL】string类的使用
本文介绍了C++中`string`类的基本概念及其主要接口。`string`类在C++标准库中扮演着重要角色,它提供了比C语言中字符串处理函数更丰富、安全和便捷的功能。文章详细讲解了`string`类的构造函数、赋值运算符、容量管理接口、元素访问及遍历方法、字符串修改操作、字符串运算接口、常量成员和非成员函数等内容。通过实例演示了如何使用这些接口进行字符串的创建、修改、查找和比较等操作,帮助读者更好地理解和掌握`string`类的应用。
377 2
|
11月前
|
C++
第十三问:C++中静态变量的用法有哪些?
本文介绍了 C++ 中静态变量和函数的用法及原理。静态变量包括函数内的静态局部变量和类中的静态成员变量,前者在函数调用间保持值,后者属于类而非对象。静态函数不能访问非静态成员,但可以通过类名直接调用。静态链接使变量或函数仅在定义文件内可见,避免命名冲突。
|
存储 安全 C++
【C++打怪之路Lv8】-- string类
【C++打怪之路Lv8】-- string类
113 1