自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (12)
  • 收藏
  • 关注

原创 C++中在字符串中提取子字符串

C++中在字符串中提取子字符串从字符串中提取子字符串是指将一个字符串中的一部分截取下来形成一个新的字符串。#include <iostream>int main(int argc,const char* argv[]){ std::string str1 = "Hello World!"; /* 定义一个新的字符串str2,其内容被初始化成字符串str1的第0个字符...

2019-08-15 15:53:43 19449

原创 C++字符串的拼接

C++字符串的拼接字符串拼接是指将两个字符串连接在一起,形成一个更长的字符串#include <iostream>int main(int argc,const char* argv[]){ std::string str1 = "Hello ;" std::string str2 = "World!"; //append(char* )将字符串str2拼接到字符串s...

2019-08-15 14:18:51 87664 3

原创 利用C++模板封装链表

利用C++实现链表模板类#include <iostream>#include <stdlib.h>using namespace std;template <typename T>class Node//定义结点类{public: Node(T data):data(data) { next = NULL; } T data;...

2019-08-26 21:05:54 368

原创 顺序栈的创建与使用

顺序栈的创建与使用首先是各种函数的头文件声明这里还另外定义了一个数据类型的宏,int类型数据暂时用作TYPE替换,也可以替换成其他类型数据。然后是设计数据结构体,这里定义了三个成员变量其次是实现各项业务逻辑的分函数:创建栈、销毁栈、判断栈是否为空、判断栈是否为满、入栈、出栈、查看栈顶元素。创建栈:使用malloc申请栈空间,初始化栈的长度和栈顶指针。销毁栈:当程序运行结束时,需要释...

2019-08-24 10:37:51 573

原创 顺序表的创建与使用

顺序表的创建与使用这里还定义了一个数据类型的宏,TYPE。首先需要设计数据结构,这里设计了两个成员:数组首地址和元素个数。然后是进行各种业务功能的分寒素:创建顺序表、销毁顺序表、访问顺序表中指定下标的元素、在顺序表中查找指定元素、对顺序表排序、遍历打印顺序表、删除顺序表中指定下标的元素、在顺序表中指定下标插入元素等。具体业务实现如下:创建:malloc先后创建两个空间销毁:free先后...

2019-08-24 10:07:08 2049

原创 关于指针的定义与使用

指针的定义:指针是一种数据类型(无符号整数,这种整数代表了内存的编号),使用它可以定义的变量叫指针变量(简称指针,这种变量战用4|8字节内存大小)。为什么使用指针?1、函数之间共享变量:全局变量可能会名字冲突不可过多使用。函数之间传参是值传递的,因此不能共享变量。函数之间的命名空间是独立的,但是存储空间是统一,可以把存储的地址在函数之间传递,达到共享的目的。2、堆内存无法取名字(标识...

2019-08-21 19:22:52 1075

原创 C++中字符串的交换与复制

字符串的交换是指将两个字符串的内容互相交换。字符串复制是指生成一个新的字符串其内容为原有字符串的内容。#include <iostream>int main(){ std::string str1 = "Hello "; std::string str2 = "World!"; //以下将字符串str1的内容与字符串str2的内容进行交换 swap(str1,st...

2019-08-16 11:56:20 6719

原创 C++字符串的插入与删除

C++字符串的插入与删除字符串的插入是指在字符串中指定的位置插入指定的字符串。字符串删除是指在字符串中指定的位置删除指定长度个字符。include <stdio.h>int main(int argc,const char* argv[]){ std::string str1 = "Hedl"; std::string str2 = "llo Worl"; //以...

2019-08-16 11:29:02 2285

原创 C++中字符串的比较与排序

C++中字符串的比较与排序字符串的比较是指将两个字符串的对应字符进行比较。如果相同则对比下一对对应字符,直到不同或两个字符串同时结束。字符串排序是指将字符串数组按指定顺序进行排序。include <iostream>int strCmp(const void* a,const void* b){ return (*(std::string const*)a).compar...

2019-08-15 21:14:35 5139

原创 C++中字符串的查找与替换

C++中字符串的查找与替换字符串的查找是指查看在字符串中是否有另一个指定的子串。字符串的替换是指将字符串中指定部分替换成指定的内容。#include <iostream>int main(int argc,const char* argv[]){ std::string str1 = "Hello World!"; //在字符串str1中查看是否有字符o,如果有...

2019-08-15 20:56:54 4608

原创 C++中如何访问字符串中的单个字符

访问字符串中的单个字符访问字符串中的单个字符是像字符数组那样使用下标访问字符串中的某个元素。#include <iostream>int main(int argc,const char* argv[]){ std::string str1 = "Hello World!"; //向访问字符数组那样,将字符串中的第二个字符提取出来显示,如果下标越界,不会报告错误。 s...

2019-08-15 20:32:34 17059

原创 C++在字符串中搜索特定的字符

C++在字符串中搜索特定的字符在字符串中搜索特定字符是指在字符串中寻找是否存在指定的字符或字符集。#include <iostream>int main(int argc,const char* argv[]){ std::string str1 = "Hello World!"; //find_first_of(char)是在字符串str1中查找是否存在字符o,如果存在...

2019-08-15 15:40:36 11882

原创 C++字符串的大小和容量

C++字符串的大小容量字符串的大小或长度是指该字符串实际容纳的字符数,而字符串的容量是该字符串最多容纳的字符数。#include <iostream>int main(int argc,cost char* argv[]){ std::string str1 = "Hello World!"; /* size()和length()都能获得字符串实际容纳的字符数 len...

2019-08-14 21:04:35 3245

原创 C++字符串的基本运算

字符串的基本运算字符串的基本运算主要包括字符串的拼接、赋值和关系运算。#include <iostream>int main(int argc,const char* argv[]){ //将字符串str2的内容拼接到字符串str1的最后一个字符后面,形成一个更大的字符串。 std::string str1 = "Hello "; std::string str2 =...

2019-08-14 20:35:45 4930

原创 C++字符串的基本用法

/*字符串的基本用法主要是指字符串类对象的定义与初始化方法。*/#include <iostream>int main(int argc,const char* argv[]){ //在栈上定义了一个空的字符串对象: std::string str //在栈上定义了一个字符串对象,然后调用构造函数对其进行初始化 std::string str1("Hello wor...

2019-08-14 20:14:07 250

原创 在局域网下搜索可用服务器

在局域网内本地客户端搜索端口号一致的可用服务器并且打印ip地址,即找到网络地址一致的服务器。客户端首先需要创建一个客户端:#include <stdio.h>#include <string.h> #include <unistd.h>#include <dirent.h>#include <sys/types.h>#in...

2019-08-13 17:34:02 1150

原创 利用TCP协议完成服务器与客户端之间文件传输

利用TCP文件传输协议模拟与服务器的文件上传、下载操作,以及进入各种目录和列举当前目录文件状态操作。ls为查看当前目录,cd+目录名进入该目录,cd …则返回上一级目录,dow加文件名则下载文件到本地代码所在的工作目录,snd加文件名则上传本地代码所在工作目录的文件到当前查看服务器所在的目录,quit则退出。创建文件夹首先在本地客户端源代码的工作目录下创建一个fil的目录文件,为文件上传和下载...

2019-08-13 17:02:25 2146

原创 C语言的流程控制

流程控制分支 if(){} if(){} else{} if(){} else if(){} else{} 如果要执行的语句体只有一行,大括号可以省略,但从代码规范上来说一定不能省略。 switch(结果为整型的表达式) { // val的值必须是常量(字面值数据,枚举值)。 case val: 语句; break; ... default } switch是一种...

2019-08-12 21:06:46 264

原创 利用UDP协议与socket文件实现进程间网络通信

利用UDP协议与socket文件完成两个进程之间的网络通信,这里分为服务端与客户端,服务端则是在云端运行的服务器进程,客户端则为计算机本地运行的进程。服务器头文件首先是服务器里面各种头文件:#include <stdio.h>#include <string.h>#include <unistd.h>#include <sys/types.h...

2019-08-08 21:01:14 745

原创 关于线程及其相关函数总结

一、线程基本概念1、线程就是进程中的执行路线,即进程内部的控制序列,或者说是进程的子任务(进程就是正在运行的程序,它是一个资源单位)。2、线程就是轻量级的,没有自己独立的内存资源,使用的是进程的代码段、数据段、bss段、堆(注意没有栈)、环境变量表、命令行参数、文件描述符、信号处理函数、工作目录、用户ID、组ID等资源。3、线程拥有自己独立的栈、也就是有自己独立的局部变量。4、一个进程中可...

2019-08-07 20:46:53 412

原创 关于逻辑运算符

算术运算算术运算 加 减 乘 除 取余%,其中取余显示的是余数,注意除数不能为0,计算机运算与数学运算不同,如1<a<9在C中永远为真,因为先运算1<a结果只可能是1或0,符合条件为1,不符合为0,然后0或1与9比较,都是符合条件的,所以结果都是1。以下程序输出结果为c=1d=1。#include <stdio.h>int main(){ int a...

2019-08-07 20:39:14 200

原创 Scanf与Printf的应用

Scanfscanf是输入语句,将键盘上的数据输入到计算机里去,它的格式很简单,printf(“占位符”,&变量名);,其中(&变量名)相当于是(变量地址),但是在双引号里面不能加\n,因为scanf不能接收空格!以下程序运行时输入一个整数然后回车,屏幕上将会显示所输入的数。#include <stdio.h>int main(){ int a; ...

2019-08-07 18:33:47 629

原创 数据类型及其分类2——浮点型与布尔型

float类型float类型数据跟以下要说的double类型数据都属于浮点类型数据,与以上的数据类型不同,以上都是整型数据。float是单精度数据,可以用来表示小数,虽然表示范围较大,但小数点后的精确度不高,占用4个字节,表示范围在-3.4*10^38到3.4乘以10的38次方,它的占位符是%f,但当想要显示n位小数时可以用%.nf表示。以下程序执行结果为a=5.498600,b=-36.00。...

2019-08-05 21:30:16 3421

原创 数据类型及其分类1——字符与整型

int类型int类型的数据是最常用的数据类型,属于整型数据,同时int也可以添加前缀修饰int,表示int是有符号的整型数据还是无符号的整型数据,一般有符号的整型数据表示为signed int,无符号的整型数据表示为unsigned int或者直接int省略前缀的修饰默认为无符号的整型数据。Int类型的数据不管有符号还是无符号字节数都是4,有符号的整数表示范围是-2147483648到21474...

2019-08-05 21:26:21 1189

原创 利用TCP协议和socket文件实现进程间网络通信

利用TCP协议与socket文件完成两个进程之间的网络通信,这里分为服务端与客户端,服务端则是在云端运行的服务器进程,客户端则为计算机本地运行的进程。服务器头文件首先是服务器里面各种头文件: 1 #include <stdio.h> 2 #include <string.h> 3 #include <unistd.h> 4 #include...

2019-08-05 21:07:09 821

原创 利用套接字创建本地socket文件完成本地进程间通信

利用套接字创建socket文件完成本地两个进程之间的通信,这里分为进程A和进程B进程A头文件进程A里面首先是各种头文件: 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <string.h> 4 #include <unistd.h> 5 #include <...

2019-08-05 20:19:07 3797 2

原创 使用无名管道完成两进程间单项通信

使用有名管道完成进程通信头文件首先我们要选择需要使用的头文件:#include <stdio.h> 基础头文件#include <string.h> 字符串操作头文件#include <unistd.h> 进程操作的头文件 #include <stdio.h> #include <string.h> #include...

2019-08-05 19:41:10 442

原创 使用有名管道完成本地两个进程之间的单项通信

使用有名管道完成进程通信进程A首先编写进程A的代码,用到的头文件也比较多,头文件如下:<stdio.h><string.h><unistd.h><sys/stat.h><sys/types.h><fcntl.h>一般管道按照编程模型:创建管道、打开管道、读写数据、关闭管道和删除管道,首先进程A将按照模型分为...

2019-07-31 20:30:46 552

原创 在Linux系统下编写C语言程序完成删除非空目录操作

在Linux系统下编写C语言程序完成删除非空目录操作主要还是模拟系统指令rmkdir,要想删除目录文件首先得先删除目录文件里面的文件,使文件清空才能删除目录。本程序才用递归来不断打开目录文件清空目录下的文件并返回删除目录,以此来达到删除非空目录的特点。...

2019-07-30 19:47:12 583

原创 使用C语言模拟Linux系统终端指令ls -l,显示文件详细信息

程序描述:模拟Linux系统终端指令ls -l,显示文件夹里所有文件详细信息(不包含隐藏文件),包括文件的权限,文件的类型,如果是目录文件里面包含几个目录,系统的登录ID,组ID以及文件的大小,最后修改时间和文件名按照一定顺序排列出来。需要使用的头文件:需要使用的头文件很多,<stdio.h>为基础头文件,还有<string.h>字符串操作头文件,<unist...

2019-07-27 16:02:06 1243

原创 C语言逻辑运算符的应用以及位运算左移与右移

算术运算加+ 减- 乘* 除/ 取余%,其中取余显示的是余数,注意除数不能为0,计算机运算与数学运算不同,如1<a<9在C中永远为真,因为先运算1<a结果只可能是1或0,符合条件为1,不符合为0,然后0或1与9比较,都是符合条件的,所以结果都是1。以下程序输出结果为c=1d=1。自变运算符自加++或自减–的使用,都是对变量的值进行加1或减-操作,只有变量才能使用,常用于循...

2019-07-23 20:00:34 973 2

原创 关于C语言的数据类型分类

关于C语言的数据类型分类整型数据intint类型的数据是最常用的数据类型,属于整型数据,同时int也可以添加前缀修饰int,表示int是有符号的整型数据还是无符号的整型数据,一般有符号的整型数据表示为signed int,无符号的整型数据表示为unsigned int或者直接int省略前缀的修饰默认为无符号的整型数据。Int类型的数据不管有符号还是无符号字节数都是4,有符号的整数表示范围是-2...

2019-07-10 20:28:20 848

封装链表模板类的源代码

利用标准C++的语言,实现封装链表模板类,即List模板类

2019-08-26

stack_array.c

顺序栈需要实现各项业务功能:创建栈、销毁栈、判断栈是否为空、判断栈是否为满、入栈、出栈、查看栈顶元素。

2019-08-24

顺序表的创建与使用

顺序表需要实现的各种功能:创建顺序表、销毁顺序表、访问顺序表中指定下标的元素、在顺序表中查找指定元素、对顺序表排序、遍历打印顺序表、删除顺序表中指定下标的元素、在顺序表中指定下标插入元素等。

2019-08-24

搜索局域网可用服务器ip地址

在局域网内本地客户端搜索端口号一致的可用服务器并且打印ip地址,即找到网络地址一致的服务器。

2019-08-13

文件传输v2.rar

利用socket文件与TCP协议完成云端服务器与本地客户端文件的上传与下载,同时可以查看服务器当前文件目录以及cd指令操作。客户端输入ls查看云端服务器当前目录,输入cd+xxx为linux终端下cd功能,但注意中间不能有空格,输入snd则上传文件,输入dow则下载文件。

2019-08-11

利用UDP协议与socket文件完成两个进程之间的网络通信

利用UDP协议与socket文件完成两个进程之间的网络通信,这里分为服务端与客户端,服务端则是在云端运行的服务器进程,客户端则为计算机本地运行的进程。注意端口号要一致。

2019-08-08

利用TCP协议与socket文件完成两个进程之间的网络通信

利用TCP协议与socket文件完成两个进程之间的网络通信,这里分为服务端与客户端,服务端则是在云端运行的服务器进程,客户端则为计算机本地运行的进程。

2019-08-05

利用套接字创建socket文件完成本地两个进程之间的通信

利用套接字创建socket文件完成本地两个进程之间的通信,这里分为进程A和进程B 进入主函数后,首先需要创建socket文件,若失败则打印失败原因。 创建完socket文件则需要准备地址,确保能与另一个进程连通,其中AF_LOCAL为通信类型,这里用的是本地通信。

2019-08-05

使用无名管道完成进程间通信

使用无名管道完成进程间通信,进入主函数我们需要先打开无名管道,如果失败则返回失败信息。

2019-08-05

mkfifo.rar

使用有名管道完成两进程间的单项通信。首先利用mkfifo函数创建管道,注意需要使用有效路径;然后按照路径打开管道,由于本程序使用读取文件,所以文件权限使用O_RDONLY为只读权限,然后设立一个死循环不断读取管道文件的数据,当接收到另一个进程B写入到管道文件中"quit"字符串时,则通信结束,然后关闭管道最后删除管道文件,注意进程B也需要关闭管道,然后删除管道才能成功!

2019-07-31

在Linux系统下编写C语言程序完成删除非空目录操作

在Linux系统下编写C语言程序完成删除非空目录操作主要还是模拟系统指令rmkdir,要想删除目录文件首先得先删除目录文件里面的文件,使文件清空才能删除目录。本程序才用递归来不断打开目录文件清空目录下的文件并返回删除目录,以此来达到删除非空目录的特点。

2019-07-30

基于C语言实现Linux系统终端ls -l指令的源代码

模拟Linux系统终端指令ls -l,显示文件夹里所有文件详细信息(不包含隐藏文件),包括文件的权限,文件的类型,如果是目录文件里面包含几个目录,系统的登录ID,组ID以及文件的大小,最后修改时间和文件名按照一定顺序排列出来。

2019-07-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除