高密制作网站,域名及网站建设实训,做像百姓网这样网站多少钱,做产品网站架构图之前注意要点2019独角兽企业重金招聘Python工程师标准 一、C字符串 c字符串是char类型的数组。char str[MAX] 1.在c中并没有内置的机制保证程序不会出现数组元素个数超出数组大小的情况。 coutsetw(MAX)str; setw指定输入缓冲区允许的最大字符个数#x… 2019独角兽企业重金招聘Python工程师标准 一、C字符串 c字符串是char类型的数组。char str[MAX] 1.在c中并没有内置的机制保证程序不会出现数组元素个数超出数组大小的情况。 coutsetw(MAX)str; setw指定输入缓冲区允许的最大字符个数用户即使输入了过多的字符运算符也不会把他放到数组中。 2.cin.get()来读取包含空格的文本。这样的语法表示stream类的成员函数get()而cin是这个类的对象。 cin.get()的第一个参数是存放输入字符串的数组地址 第二个参数是指定了数组的最大尺寸因此自动防止了缓冲区超出限制。 第三个参数是可以携带一个字符告诉函数遇到后就停止读取默认是换行字符\n。 strlen得到c字符串的长度头文件cstring strcpydestinationsource复制字符串。 strcat这个库函数将第二个参数的字符串加到第一个参数的字符串之后。 3.字符串数组stringarray[ ][ ] 例如 star[DAYS][MAX]{“sunday”,”monday”,”tuesday”,”wendnesday”,”thursday”,”friday”,”saturday”} 这个数组的第一维DAYS表示数组中有多少个字符串第二维MAX指定字符串的最大长度。 访问一个具体字符串的语法为star[j]----只有第一维的下标。 注意 1MAX的定义是非比寻常的。如果要与封装的思想保持一致则定义完全在类中使用的常量是最好的因此为了达到这个目的使用全局变量是不恰当的。标准的C可以在类中声明MAX static const int MAX 10 ; 有些编译器不支持可以表示为enum {MAX10}; 2堆栈内存是向下增长的因此栈顶在低端单元以相反的顺序从堆栈中弹出先进后出后进先出。 二、标准的Cstring类 1.string对象的定义 string类的构造函数 string(const char *s); //用c字符串s初始化 string(int n,char c); //用n个字符c初始化 此外string类还支持默认构造函数和复制构造函数如string s1string s2hello都是正确的写法。当构造的string太长而无法表达时会抛出length_error异常 1string s(“man”) 2string s”man”; 3string s;空的string变量 2.常用成员函数 1 swap它的功能是将两个字符串对象的值做调换一个对象调用它另一个对象作为它的参数。如 s1.swaps2 2getline在string类中它能够读取带有空格的多行输入。 getline的第一个参数是流对象这里将会出现输入信息在此处是cin。 第二个参数是放置文本的string对象obj 第三个参数是指定终止输入的字符默认为换行符”\n“. getline与c字符串的函数get是相似的只是前者是string标准。 string类的输入输出操作: string类重载运算符operator用于输入同样重载运算符operator用于输出操作。 函数getline(istream in,string s);用于从输入流in中读取字符串到s中以换行符 分开。 3find在调用它的字符串对象中查找作为参数的字符串最左边的字符位置的编号是0。 find_frist_of查找所有的字符组并且返回他找到的第一个字符的位置。如find_frist_of“spde”为查找这些字符”s“、”p“、”d“、”e“中在字符串中第一个出现的字符并且返回该字符所在的值。 find_frist_not_of查找第一个不属于所给出的字符组的字符并返回该字符的位置。 4erase将子串从字符串中移除。 第一个参数子串第一个字符所在的位置。 第二个参数子串的长度。 5replace用一个字符串替换另一个字符串。 第一个参数置换部分的起始位置 第二个参数要替代的原来字符串的字符个数 第三个参数用来替换的字符串。 6insert将第二个参数指定的字符串插到第一个参数提供的位置。 7append在句尾添加字符(’’),不是字符串。 第一个参数要添加的字符个数 第二个参数要添加的字符。 8compare两个对象做比较返回int类型数值-1,0,1。如 a.compare0,2b0,2 第一个参数调用函数的对象字符串中开始的位置0 第二个参数调用字符串比较的字符个数2 第三个参数要比较的字符串b 第四个参数b中的开始位置0 第五个参数b字符串中要比较的字符个数2 9substr返回调用它的字符串的子串。 第一个参数开始字符位置 第二个参数返回字符的个数 10at类似于[]来从对象中取出单独的字符。参数为字符串中字符的位置。 *11copy将string对象复制为char类型的数组。实际上把string类编程c字符串。但记住复制之后需要将一个空字符’\0’插入最后一个字符之后char[lengeh]0或char[length]’\0’; 对比在string类中相当于c字符串中的复制的作用而copy是将string对象复制为char类型的数组。 12length和size作用一样都是返回字符串的长度。size为适应STL而产生 Cstring类常用函数 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的特性描述: int capacity()const; //返回当前容量即string中不必增加内存即可存放的元素个数 int max_size()const; //返回string对象中可存放的最大字符串的长度 int size()const; //返回当前字符串的大小 int length()const; //返回当前字符串的长度 bool empty()const; //当前字符串是否为空 void resize(int len,char c);//把字符串当前大小置为len并用字符c填充不足的部 转载于:https://my.oschina.net/u/347414/blog/164668