汉扬编程 编程大纲 C语言中基本的字符串操作函数

C语言中基本的字符串操作函数

C语言中基本的字符串操作函数

C语言中基本的字符串操作函数

字符串复制函数char * strcpy (char * s1, char * s2)

C语言中基本的字符串操作函数

C语言中基本的字符串操作函数

​字符串连接函数strcat(s1, s2)

C语言中基本的字符串操作函数

字符串比较函数strcmp(s1, s2)

C语言中基本的字符串操作函数

字符串长度函数strlen(s1)

​字符串复制函数char * strcpy (char * s1, char * s2)

把字符串s2复制到s1,直到遇到s2中的'\\0'为止。s1要有足够的空间容纳s2,且s1中的内容被覆盖,函数返回的是s1。s1必须是字符型数组基地址,s2可以是字符数组名或字符串常量。

​字符串连接函数strcat(s1, s2)

将字符串s2接到字符串s1后面,数组s1要足够大。参数s1必须是字符数组基地址,参数s2可以是字符数组名或字符串常量。

字符串比较函数strcmp(s1, s2)

​参数s1和s2可以是字符数组名或字符串常量,函数返回一个整数。

若s1和s2相等,返回0

若s1大于s2,返回一个正数

若s1小于s2,返回一个负数

​(这里的大于和小于是指,逐个比较两个字符串的每个字符,遇到不相同的字符则用两个字符相减,根据编码值之差的正负来判断大于或小于)

字符串长度函数strlen(s1)

参数s1可以是字符数组名或字符串常量,函数返回字符串的有效字符个数(不包括结束字符\\0)。

C++|使用与实现字符串操作函数、字符串类及成员函数

字符串其实质是一个字符数组,可以用一个指针字符指向它,用可以用类来封装。

C语言中基本的字符串操作函数

概述:

C语言中基本的字符串操作函数

1 使用字符串操作函数(求长度与连接)

C语言中基本的字符串操作函数

头文件:<string.h>

C语言中基本的字符串操作函数

库函数:strlen()、strcat();

2 实现字符串操作函数(求长度与连接)

3 使用字符串类成员函数(求长度与连接)

头文件:<string>

对象方法:.length()

使用重载运算符:+

4 实现字符串及成员函数(求长度与连接)

1 使用字符串操作函数(求长度与连接)

2 实现字符串操作函数(求长度与连接)

3 使用字符串类成员函数(求长度与连接)

4 实现字符串及成员函数(求长度与连接)

附代码1

#include <iostream>#include <string.h>using namespace std;int main(){ char sa[55]=\”abcde\”; char sb[]=\”12345\”; strcat(sa,sb); cout<<sa<<\”\’ length:\”<<strlen(sa)<<endl; getchar(); return 0;}//abcde12345\’ length:10附代码2

#include <iostream>using namespace std;int strlen(char* str){ int i=0; while(*str!=\’\\0\’) { ++i; ++str; } return i;}void strlink(char a[], char b[]){ int i = strlen(a); for(int j=0;b[j]!=\’\\0\’;++i,++j) { a[i]=b[j]; }}int main(){ char sa[55]=\”abcde\”; char sb[]=\”12345\”; strlink(sa,sb); cout<<sa<<\”\’ length:\”<<strlen(sa)<<endl; getchar(); return 0;}//abcde12345\’ length:10附代码3:

#include <iostream>#include <string>using namespace std;int main(){ string sa =\”abcde\”; string sb =\”12345\”; string sc = sa+sb; cout<<sc<<\”\’s length:\”<<sc.length()<<endl; getchar(); return 0;}//abcde12345\’s length:10附代码4:

#include <iostream>#include \”stdlib.h\”#include <string.h> // 引用C语言字符串操作函数//using namespace std; // cannot access private memberusing std::cin;using std::cout;using std::ostream;using std::istream;using std::endl;class MyString{private: char* m_data; // 一个字符指针作为数据域public: MyString(const char *str =NULL); // 构造函数 MyString(const MyString &strs ); // 复制 ~MyString(); // 析构函数 MyString & operator =(const MyString &strs); // 重载运算符= MyString operator +(const MyString &strs); // 重载运算符+ int getLength(); // 返回长度public: // 声明友元函数 friend istream & operator >>(istream &_in, MyString &strs); // 友元重载运算符>> friend ostream & operator <<(ostream &_out, MyString &strs); // 友元重载运算符<<}; MyString::MyString(const char *str){ if (str == NULL){ m_data = new char[1]; *m_data = \’\\0\’; } else{ int length = strlen(str); m_data = new char[length + 1]; strcpy(m_data, str); }} MyString::~MyString(){ if (m_data) { delete[] m_data; m_data = 0; }}MyString::MyString(const MyString &strs){ if (!strs.m_data) //外边没数据等于0 { m_data = 0; } m_data = new char[strlen(strs.m_data)+1]; strcpy(m_data, strs.m_data);} MyString & MyString::operator=(const MyString &strs){ if (this != &strs) { delete[] m_data; if (!strs.m_data) { m_data = 0; } else{ m_data = new char[strlen(strs.m_data)+1]; strcpy(m_data,strs.m_data); } } return *this;}int MyString::getLength(){ return strlen(m_data); }//friendistream & operator >>(istream & _in, MyString & strs){ _in >> strs.m_data; return _in;}ostream & operator <<(ostream &_out, MyString &strs){ _out << strs.m_data; return _out;}MyString MyString::operator+(const MyString &strs){ //新建一个MyString对象 MyString newMyString; if (!strs.m_data) { newMyString = *this; } else if (!m_data) { newMyString = strs; } else{ newMyString.m_data = new char[strlen(m_data)+strlen(strs.m_data)+1]; strcpy(newMyString.m_data ,m_data); strcat(newMyString.m_data,strs.m_data); } return newMyString;} int main( ){ MyString str1 =\”wwu\”; int n =str1.getLength(); cout <<str1<<\”\’s length:\”<< n <<endl; MyString str2 =\”hn\”; cout <<str2<<\”\’s length:\”<<str2.getLength()<<endl; MyString str3(str1); str1 = \”wqwu\”; cout <<str3<<\”\’s lentgh:\”<<str3.getLength()<<endl; MyString str4 = str1+str2; cout<<str4<<\”\’s length:\”<<str4.getLength()<<endl; cin.get(); return 0;}/*output:wwu\’s length:3hn\’s length:2wwu\’s lentgh:3wqwuhn\’s length:6*/-End-

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/mianfei/6474.html

21行C语言代码编写一个具备加密功能的聊天程序!网友:666

新手必看:C语言学到什么程度可以出去找工作

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部