2024年10月c string类(在c语言中有没有string类型)

 更新时间:2024-10-12

  ⑴cstring类(在c语言中有没有string类型

  ⑵在c语言中有没有string类型

  ⑶c语言中没有string类型在C++、java等编程语言中,String就是字符串。在C语言中字符串用字符数组表示,没有单独的string类型变量。可通过string.h中定义的函数完成字符串的相关操作。

  ⑷C语言中string指令是什么

  ⑸string是c++的,不是c的stirng是C++里面一个用来处理字符串的类。包含了字符串处理掉一下常用方法,如:Constructors构造函数,用于字符串初始化Operators操作符,用于字符串比较和赋值append()在字符串的末尾添加文本assign()为字符串赋新值at()按给定索引值返回字符begin()返回一个迭代器,指向第一个字符c_str()将字符串以C字符数组的形式返回capacity()返回重新分配空间前的字符容量pare()比较两个字符串copy()将内容复制为一个字符数组data()返回内容的字符数组形式empty()如果字符串为空,返回真end()返回一个迭代器,指向字符串的末尾。(最后一个字符的下一个位置erase()删除字符find()在字符串中查找字符find_first_of()查找第一个与value中的某值相等的字符find_first_not_of()查找第一个与value中的所有值都不相等的字符find_last_of()查找最后一个与value中的某值相等的字符find_last_not_of()查找最后一个与value中的所有值都不相等的字符get_allocator()返回配置器insert()插入字符length()返回字符串的长度max_size()返回字符的最大可能个数rbegin()返回一个逆向迭代器,指向最后一个字符rend()返回一个逆向迭代器,指向第一个元素的前一个位置replace()替换字符reserve()保留一定容量以容纳字符串(设置capacity值resize()重新设置字符串的大小rfind()查找最后一个与value相等的字符(逆向查找size()返回字符串中字符的数量substr()返回某个子字符串swap()交换两个字符串的内容

  ⑹c语言中string是啥意思啊控制啥的啊

  ⑺编程语言中的字符串,用双引号引起来的几个字符.如“Abc“,“一天“。String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象。

  ⑻这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。

  ⑼strings,s;

  ⑽string类的构造函数:

  ⑾string(constchar*s);//用c字符串s初始化string(intn,charc);//用n个字符c初始化

  ⑿此外,string类还支持默认构造函数和复制构造函数,如strings;strings=“hello“;都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常。

  ⒀string类的字符操作:

  ⒁constchar&operator(intn)const;constchar&at(intn)const;char&operator(intn);char&at(intn);

  ⒂operator和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符不提供检查访问。

  ⒃constchar*data()const;//返回一个非null终止的c字符数组constchar*c_str()const;//返回一个以null终止的c字符串

  ⒄intcopy(char*s,intn,intpos=)const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目。

  ⒅string的特性描述:

  ⒆intcapacity()const;//返回当前容量(即string中不必增加内存即可存放的元素个数

  ⒇intmax_size()const;//返回string对象中可存放的最大字符串的长度

  ⒈intsize()const;//返回当前字符串的大小

  ⒉intlength()const;//返回当前字符串的长度

  ⒊boolempty()const;//当前字符串是否为空

  ⒋voidresize(intlen,charc);//把字符串当前大小置为len,并用字符c填充不足的部分

  ⒌string类的输入输出操作:

  ⒍string类重载运算符operator》》用于输入,同样重载运算符operator《《用于输出操作。函数getline(istream&in,string&s);用于从输入流in中读取字符串到s中,以换行符’

  ⒎string的赋值:

  ⒏string&operator=(conststring&s);//把字符串s赋给当前字符串

  ⒐string&assign(constchar*s);//用c类型字符串s赋值

  ⒑string&assign(constchar*s,intn);//用c字符串s开始的n个字符赋值

  ⒒string&assign(conststring&s);//把字符串s赋给当前字符串

  ⒓string&assign(intn,charc);//用n个字符c赋值给当前字符串

  ⒔string&assign(conststring&s,intstart,intn);//把字符串s中从start开始的n个字符赋给当前字符

  ⒕string&assign(const_iteratorfirst,const_itertorlast);//把first和last迭代器之间的部分赋给字符串

  ⒖string的连接:

  ⒗string&operator+=(conststring&s);//把字符串s连接到当前字符串的结尾

  ⒘string&append(constchar*s);//把c类型字符串s连接到当前字符串结尾

  ⒙string&append(constchar*s,intn);//把c类型字符串s的前n个字符连接到当前字符串结尾

  ⒚string&append(conststring&s);//同operator+=()

  ⒛string&append(conststring&s,intpos,intn);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾

  string&append(intn,charc);//在当前字符串结尾添加n个字符c

  string&append(const_iteratorfirst,const_iteratorlast);//把迭代器first和last之间的部分连接到当前字符串的结尾

  string的子串:

  stringsubstr(intpos=,intn=npos)const;//返回pos开始的n个字符组成的字符串

  string的交换:

  voidswap(string&s);//交换当前字符串与s的值

  string类的查找函数:

  intfind(charc,intpos=)const;//从pos开始查找字符c在当前字符串的位置

  intfind(constchar*s,intpos=)const;//从pos开始查找字符串s在当前串中的位置

  intfind(constchar*s,intpos,intn)const;//从pos开始查找字符串s中前n个字符在当前串中的位置

  intfind(conststring&s,intpos=)const;//从pos开始查找字符串s在当前串中的位置//查找成功时返回所在位置,失败返回string::npos的值

  intrfind(charc,intpos=npos)const;//从pos开始从后向前查找字符c在当前串中的位置

  intrfind(constchar*s,intpos=npos)const;

  intrfind(constchar*s,intpos,intn=npos)const;

  intrfind(conststring&s,intpos=npos)const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值

  intfind_first_of(charc,intpos=)const;//从pos开始查找字符c第一次出现的位置

  intfind_first_of(constchar*s,intpos=)const;

  intfind_first_of(constchar*s,intpos,intn)const;

  intfind_first_of(conststring&s,intpos=)const;//从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。查找失败返回string::npos

  intfind_first_not_of(charc,intpos=)const;

  intfind_first_not_of(constchar*s,intpos=)const;

  intfind_first_not_of(constchar*s,intpos,intn)const;

  intfind_first_not_of(conststring&s,intpos=)const;//从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::npos

  intfind_last_of(charc,intpos=npos)const;

  intfind_last_of(constchar*s,intpos=npos)const;

  intfind_last_of(constchar*s,intpos,intn=npos)const;

  intfind_last_of(conststring&s,intpos=npos)const;

  intfind_last_not_of(charc,intpos=npos)const;

  intfind_last_not_of(constchar*s,intpos=npos)const;

  intfind_last_not_of(constchar*s,intpos,intn)const;

  intfind_last_not_of(conststring&s,intpos=npos)const;//find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找。

  string类的替换函数:

  string&replace(intp,intn,constchar*s);//删除从p开始的n个字符,然后在p处插入串s

  string&replace(intp,intn,constchar*s,intn);//删除p开始的n个字符,然后在p处插入字符串s的前n个字符

  string&replace(intp,intn,conststring&s);//删除从p开始的n个字符,然后在p处插入串s

  string&replace(intp,intn,conststring&s,intpos,intn);//删除p开始的n个字符,然后在p处插入串s中从pos开始的n个字符

  string&replace(intp,intn,intn,charc);//删除p开始的n个字符,然后在p处插入n个字符c

  string&replace(iteratorfirst,iteratorlast,constchar*s);//把[first,last之间的部分替换为字符串s

  string&replace(iteratorfirst,iteratorlast,constchar*s,intn);//把[first,last之间的部分替换为s的前n个字符。

  string&replace(iteratorfirst,iteratorlast,conststring&s);//把[first,last之间的部分替换为串s

  string&replace(iteratorfirst,iteratorlast,intn,charc);//把[first,last之间的部分替换为n个字符c

  string&replace(iteratorfirst,iteratorlast,const_iteratorfirst,const_iteratorlast);//把[first,last之间的部分替换成[first,last之间的字符串。

  string类的插入函数:

  string&insert(intp,constchar*s);

  string&insert(intp,constchar*s,intn);

  string&insert(intp,conststring&s);

  string&insert(intp,conststring&s,intpos,intn);//前个函数在p位置插入字符串s中pos开始的前n个字符

  string&insert(intp,intn,charc);//此函数在p处插入n个字符c

  iteratorinsert(iteratorit,charc);//在it处插入字符c,返回插入后迭代器的位置

  voidinsert(iteratorit,const_iteratorfirst,const_iteratorlast);//在it处插入[first,last之间的字符

  voidinsert(iteratorit,intn,charc);//在it处插入n个字符c

  string类的删除函数

  iteratorerase(iteratorfirst,iteratorlast);//删除[first,last之间的所有字符,返回删除后迭代器的位置。

  iteratorerase(iteratorit);//删除it指向的字符,返回删除后迭代器的位置。

  string&erase(intpos=,intn=npos);//删除pos开始的n个字符,返回修改后的字符串。

  string类的迭代器处理:

  string类提供了向前和向后遍历的迭代器iterator,迭代器提供了访问各个字符的语法,类似于指针操作,迭代器不检查范围。

  用string::iterator或string::const_iterator声明迭代器变量,const_iterator不允许改变迭代的内容。常用迭代器函数有:

  const_iteratorbegin()const;iteratorbegin();//返回string的起始位置

  const_iteratorend()const;iteratorend();//返回string的最后一个字符后面的位置

  const_iteratorrbegin()const;iteratorrbegin();//返回string的最后一个字符的位置

  const_iteratorrend()const;iteratorrend();//返回string第一个字符位置的前面

  rbegin和rend用于从后向前的迭代访问,通过设置迭代器string::reverse_iterator或string::const_reverse_iterator实现

  通过定义ostringstream和istringstream变量实现,在#include《sstream》头文件中。

  stringinput(“hello,thisisatest“);

  istringstreamis(input);

  strings,s,s,s;

  is》》s》》s》》s》》s;//s=“hello,this“,s=“is“,s=“a“,s=“test“

  ostringstreamos;

  os《《s《《s《《s《《s;

  cout《《os.str();

  百度百科——string

  C语言中有string吗

  C语言中没有string类型。

  string类型是C++、java、VB等编程语言中的。在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。string是C++标准程序库中的一个头文件,定义了C++标准中的字符串的基本模板类std::basic_string及相关的模板类实例。

  而在C语言中,C语言中没有字符串类型,字符串是存放在字符型数组中的,将字符串作为字符数组来处理的。为了测定字符串的实际长度,C语言规定了一个“字符串结束标志”,以字符’’作为结束标志。

  C++中string的使用:

  其中的string是以char作为模板参数的模板类实例,把字符串的内存管理责任由string负责而不是由编程者负责,大大减轻了C语言风格的字符串的麻烦。std::basic_string提供了大量的字符串操作函数,如比较、连接、搜索、替换、获得子串等。并可与C语言风格字符串双向转换。

  字符串在C语言中的使用:

  字符串常量初始化数组。如:charc[]={‘c’,‘’,‘p’,‘r’,‘o’,’g’,’r’,’a’,’m’};可写为:charc[]={“Cprogram“};或去掉{}写为:charc[]=“Cprogram“。

  参考资料来源:百度百科-string类

  参考资料来源:百度百科-字符数组

  c语言string类如何将string里的小写字母变成大写

  首先,在C语言中是没有string类的,在C语言中没有类的概念,这是C++的概念。在C++中,要将string类中的小写转大写,可以直接判断每个字母,如果是小写,则进行转换。转换方法为c-=’a’-’A’;于是代码可以写作:strings;cin》》s;//输入一个sinti;for(i=;i《s.size();i++)if(s[i]《=’z’&&s[i]》=’a’)//是小写字符s[i]-=’a’-’A’;//转成大写cout《《s;//输出转换结果。

  string在c语言中是什么意思

  String是C++、java、VB等编程语言中的字符串,用双引号引起来的几个字符,如“Abc“,“一天“。

  在java、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象。String对象是?System.Char?对象的有序集合,用于表示字符串。String对象的值是该有序集合的内容,并且该值是不可变的。

  string字符创的用法:

  字符串输出函数puts,格式:puts(字符数组名),功能:把字符数组中的字符串输出到显示器。

  字符串输入函数gets,格式:gets(字符数组名),功能:从标准输入设备键盘上输入一个字符串。本函数得到一个函数值,即为该字符数组的首地址。

  字符串连接函数strcat,格式:strcat(字符数组名,字符数组名),功能:把字符数组中的字符串连接到字符数组中字符串的后面,并删去字符串后的串标志“”。本函数返回值是字符数组的首地址。

  参考资料来源:百度百科-string

  CString类的成员函数TrimRight和TrimLeft是什么功能

  假设有CStringa和ba.TrimLeft(b)的作用:从a的第一字符开始往后遍历,如果发现某个字符出现在b中,就从a删除,直到某个字符没有在b中出现或者遇到a的结尾。###atrimleft#=a###a##trimleft#=a##TrimRight就是从a的最后一个字符开始往前遍历,规则一样Trim就是两边遍历,也就是分别执行一次TrimLeft()和TrimRight()###a##trim#=a

  C++中string类的详细用法

  要想使用标准C++中string类,必须要包含#include《string》//注意是《string》,不是《string.h》,带.h的是C语言中的头文件usingstd::string;usingstd::wstring;或usingnamespacestd;string类的大部分函数:begin得到指向字符串开头的Iteratorend得到指向字符串结尾的Iteratorrbegin得到指向反向字符串开头的Iteratorrend得到指向反向字符串结尾的Iteratorsize得到字符串的大小length和size函数功能相同max_size字符串可能的最大大小capacity在不重新分配内存的情况下,字符串可能的大小empty判断是否为空operator取第几个元素,相当于数组c_str取得C风格的constchar*字符串data取得字符串内容地址operator=赋值操作符reserve预留空间swap交换函数insert插入字符append追加字符push_back追加字符operator+=+=操作符erase删除字符串clear清空字符容器中所有内容resize重新分配空间assign和赋值操作符一样replace替代copy字符串到空间find查找rfind反向查找find_first_of查找包含子串中的任何字符,返回第一个位置find_first_not_of查找不包含子串中的任何字符,返回第一个位置find_last_of查找包含子串中的任何字符,返回最后一个位置find_last_not_of查找不包含子串中的任何字符,返回最后一个位置substr得到字串pare比较字符串operator+字符串链接operator==判断是否相等operator!=判断是否不等于operator《判断是否小于operator》》从输入流中读入字符串operator《《字符串写入输出流getline从输入流中读入一行string类的函数原型:string类的构造函数:string(constchar*s);//用c字符串s初始化string(intn,charc);//用n个字符c初始化此外,string类还支持默认构造函数和复制构造函数,如strings;strings=“hello“;都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常;string类的字符操作:constchar&operator(intn)const;constchar&at(intn)const;char&operator(intn);char&at(intn);operator和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符不提供检查访问。constchar*data()const;//返回一个非null终止的c字符数组constchar*c_str()const;//返回一个以null终止的c字符串intcopy(char*s,intn,intpos=)const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目string的特性描述:intcapacity()const;//返回当前容量(即string中不必增加内存即可存放的元素个数intmax_size()const;//返回string对象中可存放的最大字符串的长度intsize()const;//返回当前字符串的大小intlength()const;//返回当前字符串的长度boolempty()const;//当前字符串是否为空voidresize(intlen,charc);//把字符串当前大小置为len,并用字符c填充不足的部分string类的输入输出操作:string类重载运算符operator》》用于输入,同样重载运算符operator《《用于输出操作。函数getline(istream∈,string&s);用于从输入流in中读取字符串到s中,以换行符’

  ’分开。string的赋值:string&operator=(conststring&s);//把字符串s赋给当前字符串string&assign(constchar*s);//用c类型字符串s赋值string&assign(constchar*s,intn);//用c字符串s开始的n个字符赋值string&assign(conststring&s);//把字符串s赋给当前字符串string&assign(intn,charc);//用n个字符c赋值给当前字符串string&assign(conststring&s,intstart,intn);//把字符串s中从start开始的n个字符赋给当前字符串string&assign(const_iteratorfirst,const_itertorlast);//把first和last迭代器之间的部分赋给字符串string的连接:string&operator+=(conststring&s);//把字符串s连接到当前字符串的结尾string&append(constchar*s);//把c类型字符串s连接到当前字符串结尾string&append(constchar*s,intn);//把c类型字符串s的前n个字符连接到当前字符串结尾string&append(conststring&s);//同operator+=()string&append(conststring&s,intpos,intn);//把字符串s中从pos开始的n个字符连接到当前字符串的结尾string&append(intn,charc);//在当前字符串结尾添加n个字符cstring&append(const_iteratorfirst,const_iteratorlast);//把迭代器first和last之间的部分连接到当前字符串的结尾string的比较:booloperator==(conststring&s,conststring&s)const;//比较两个字符串是否相等运算符“》“,“《“,“》=“,“《=“,“!=“均被重载用于字符串的比较;intpare(conststring&s)const;//比较当前字符串和s的大小intpare(intpos,intn,conststring&s)const;//比较当前字符串从pos开始的n个字符组成的字符串与s的大小intpare(intpos,intn,conststring&s,intpos,intn)const;//比较当前字符串从pos开始的n个字符组成的字符串与s中//pos开始的n个字符组成的字符串的大小intpare(constchar*s)const;intpare(intpos,intn,constchar*s)const;intpare(intpos,intn,constchar*s,intpos)const;pare函数在》时返回,《时返回-,==时返回string的子串:stringsubstr(intpos=,intn=npos)const;//返回pos开始的n个字符组成的字符串string的交换:voidswap(string&s);//交换当前字符串与s的值string类的查找函数:intfind(charc,intpos=)const;//从pos开始查找字符c在当前字符串的位置intfind(constchar*s,intpos=)const;//从pos开始查找字符串s在当前串中的位置intfind(constchar*s,intpos,intn)const;//从pos开始查找字符串s中前n个字符在当前串中的位置intfind(conststring&s,intpos=)const;//从pos开始查找字符串s在当前串中的位置//查找成功时返回所在位置,失败返回string::npos的值intrfind(charc,intpos=npos)const;//从pos开始从后向前查找字符c在当前串中的位置intrfind(constchar*s,intpos=npos)const;intrfind(constchar*s,intpos=npos,intn)const;intrfind(conststring&s,intpos=npos)const;//从pos开始从后向前查找字符串s中前n个字符组成的字符串在当前串中的位置,成功返回所在位置,失败时返回string::npos的值intfind_first_of(charc,intpos=)const;//从pos开始查找字符c第一次出现的位置intfind_first_of(constchar*s,intpos=)const;intfind_first_of(constchar*s,intpos,intn)const;intfind_first_of(conststring&s,intpos=)const;//从pos开始查找当前串中第一个在s的前n个字符组成的数组里的字符的位置。查找失败返回string::nposintfind_first_not_of(charc,intpos=)const;intfind_first_not_of(constchar*s,intpos=)const;intfind_first_not_of(constchar*s,intpos,intn)const;intfind_first_not_of(conststring&s,intpos=)const;//从当前串中查找第一个不在串s中的字符出现的位置,失败返回string::nposintfind_last_of(charc,intpos=npos)const;intfind_last_of(constchar*s,intpos=npos)const;intfind_last_of(constchar*s,intpos,intn=npos)const;intfind_last_of(conststring&s,intpos=npos)const;intfind_last_not_of(charc,intpos=npos)const;intfind_last_not_of(constchar*s,intpos=npos)const;intfind_last_not_of(constchar*s,intpos,intn)const;intfind_last_not_of(conststring&s,intpos=npos)const;//find_last_of和find_last_not_of与find_first_of和find_first_not_of相似,只不过是从后向前查找string类的替换函数:string&replace(intp,intn,constchar*s);//删除从p开始的n个字符,然后在p处插入串sstring&replace(intp,intn,constchar*s,intn);//删除p开始的n个字符,然后在p处插入字符串s的前n个字符string&replace(intp,intn,conststring&s);//删除从p开始的n个字符,然后在p处插入串sstring&replace(intp,intn,conststring&s,intpos,intn);//删除p开始的n个字符,然后在p处插入串s中从pos开始的n个字符string&replace(intp,intn,intn,charc);//删除p开始的n个字符,然后在p处插入n个字符cstring&replace(iteratorfirst,iteratorlast,constchar*s);//把[first,last之间的部分替换为字符串sstring&replace(iteratorfirst,iteratorlast,constchar*s,intn);//把[first,last之间的部分替换为s的前n个字符string&replace(iteratorfirst,iteratorlast,conststring&s);//把[first,last之间的部分替换为串sstring&replace(iteratorfirst,iteratorlast,intn,charc);//把[first,last之间的部分替换为n个字符cstring&replace(iteratorfirst,iteratorlast,const_iteratorfirst,const_iteratorlast);//把[first,last之间的部分替换成[first,last之间的字符串string类的插入函数:string&insert(intp,constchar*s);string&insert(intp,constchar*s,intn);string&insert(intp,conststring&s);string&insert(intp,conststring&s,intpos,intn);//前个函数在p位置插入字符串s中pos开始的前n个字符string&insert(intp,intn,charc);//此函数在p处插入n个字符citeratorinsert(iteratorit,charc);//在it处插入字符c,返回插入后迭代器的位置voidinsert(iteratorit,const_iteratorfirst,const_iteratorlast);//在it处插入[first,last之间的字符voidinsert(iteratorit,intn,charc);//在it处插入n个字符cstring类的删除函数iteratorerase(iteratorfirst,iteratorlast);//删除[first,last之间的所有字符,返回删除后迭代器的位置iteratorerase(iteratorit);//删除it指向的字符,返回删除后迭代器的位置string&erase(intpos=,intn=npos);//删除pos开始的n个字符,返回修改后的字符串string类的迭代器处理:string类提供了向前和向后遍历的迭代器iterator,迭代器提供了访问各个字符的语法,类似于指针操作,迭代器不检查范围。用string::iterator或string::const_iterator声明迭代器变量,const_iterator不允许改变迭代的内容。常用迭代器函数有:const_iteratorbegin()const;iteratorbegin();//返回string的起始位置const_iteratorend()const;iteratorend();//返回string的最后一个字符后面的位置const_iteratorrbegin()const;iteratorrbegin();//返回string的最后一个字符的位置const_iteratorrend()const;iteratorrend();//返回string第一个字符位置的前面rbegin和rend用于从后向前的迭代访问,通过设置迭代器string::reverse_iterator,string::const_reverse_iterator实现字符串流处理:通过定义ostringstream和istringstream变量实现,#include《sstream》头文件中例如:stringinput(“hello,thisisatest“);istringstreamis(input);strings,s,s,s;is》》s》》s》》s》》s;//s=“hello,this“,s=“is“,s=“a“,s=“test“ostringstreamos;os《《s《《s《《s《《s;cout《《os.str();

  C语言中有string类型变量吗

  “C语言中有string类型变量吗“这里的string有二义性。(如果string是普通词汇,“C语言中有字符类型变量吗”,答,有。字符类型用char声明。charstr=“Thisisastring“;()如果string是专用词汇,“C语言中有string类型变量吗”,答,没有。string是类,是class,不是类型,不是type.类的声明用构造函数初始化,或new声明。类--C++,不是C

您可能感兴趣的文章:

相关文章