大家好,今天小编关注到一个比较有意思的话题,就是关于c语言string定义的问题,于是小编就整理了3个相关介绍c语言string定义的解答,让我们一起看看吧。
c语言中string是啥意思?
String是C编程语言中的字符串,用双引号引起来的几个字符,如34;Abc","一天"。
在、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象,String 对象是 System.char 对象的有序集合,用于表示字符串。String 对象的值是该有序***的内容,并且该值是不可变的。
string在c语言中是什么意思?
编程语言中的字符串,用双引号引起来的几个字符.如"Abc","一天"。
String类是不可变(final)的,对String类的任何改变,都是返回一个新的String类对象。
这样的话把String类的引用传递给一个方法,该方法对String的任何改变,对原引用指向的对象没有任何影响,这一点和基本数据类型相似。
string s1,s2; s1="abc"; s2=s1; s2="def"; 1、用法 string类的构造函数:
string(const char*s)
;//用c字符串s初始化string(int n,char c)
;//用n个字符c初始化 此外,string类还支持默认构造函数和复制构造函数,如string s1;string s2="hello";都是正确的写法。
当构造的string太长而无法表达时会抛出length_error异常。 2、string类的字符操作:
const char&operator[](int n)const;const char&at(int n)const;char&operator[](int n);char&at(int n); operator[]和at()均返回当前字符串中第n个字符的位置,但at函数提供范围检查,当越界时会抛出out_of_range异常,下标运算符[]不提供检查访问。 const char*data()const;//返回一个非null终止的c字符数组const char*c_str()const;//返回一个以null终止的c字符串 int copy(char*s,int n,int pos=0)const;//把当前串中以pos开始的n个字符拷贝到以s为起始位置的字符数组中,返回实际拷贝的数目。
String是C编程语言中的字符串,用双引号引起来的几个字符,如"Abc","一天"。
在j***a、C#中,String类是不可变的,对String类的任何改变,都是返回一个新的String类对象,String 对象是 System.Char 对象的有序***,用于表示字符串。String 对象的值是该有序***的内容,并且该值是不可变的。
c怎么把char转换为string就是字符?
1、如果要将string转换为char*,可以使用string提供的函数c_str() ,或是函数data(),data除了返回字符串内容外,不附加结束符'\0',而c_str()返回一个以‘\0’结尾的字符数组。
2、const char *c_str();c_str()函数返回一个指向正规C字符串的指针,内容与本string串相同.这是为了与c语言兼容,在c语言中没有string类型,故必须通过string类对象的成员函数c_str()把string 对象转换成c中的字符串样式.注意:一定要使用strcpy()函数 等来操作方法c_str()返回的指针比如:最好不要这样:char* c;string s="1234"
;c = s.c_str()
; //c最后指向的内容是垃圾,因为s对象被析构,其内容被处理应该这样用:
char c[20];string s="1234";strcpy(c,s.c_str());这样才不会出错,c_str()返回的是一个临时指针,不能对其进行操作再举个例子c_str() 以 char* 形式传回 string 内含字符串如果一个函数要求char*参数,可以使用c_str()方法:string s = "Hello World!"
;printf("%s",s.c_str())
; //输出 "Hello World!"
到此,以上就是小编对于c语言string定义的问题就介绍到这了,希望介绍关于c语言string定义的3点解答对大家有用。