- 博客(80)
- 资源 (3)
- 收藏
- 关注
原创 C++使用sigaction实战
一点睛sigaction:查询或设置信号处理方式头文件#include<signal.h>定义函数int sigaction(int signum,const struct sigaction *act ,struct sigaction *oldact);函数说明sigaction()会依参数signum指定的信号编号来设置该信号的处理函数。参...
2019-03-31 20:17:58 3274
原创 C++使用kill发送信号终止目标进程
一点睛#include<sys/types.h>#include<signal.h>int kill(pid_t pid,int sig);函数说明kill()可以用来送参数sig指定的信号给参数pid指定的进程。参数pid有几种情况: pid>0 将信号传给进程识别码为pid的进程。 pid=0 将信号传给和目前进程相同进程组...
2019-03-31 19:25:57 6562
原创 C++守护进程编程
一点睛Linux Deamon守护进程是运行在后台的一种特殊进程。它独立于控制终端并且周期性地执行某种任务或者等待处理某些事件的发生。它不需要用户输入就能运行而且提供某种服务,不是对整个系统就是对某个用户程序提供服务。Linux系统的大多数服务器就是通过守护进程实现的。常见的守护进程包括系统日志进程syslogd、 web服务器httpd、邮件服务器sendmail和数据库服务器mysqld...
2019-03-31 16:28:47 2643
原创 C++后台进程编程实战
一点睛对于那些不需要交互的进程,很多时候希望将其在后台启动,可以在启动的时候加一个&。比如一个进程的名字是recv,我们希望它在后台运行,则可以输入:recv &。这样它就是一个后台进程了,而且不会占据shell,我们依然可以在shell下做其他操作。但关闭shell窗口的时候,后台进程也将随之退出。我们把切换到后台运行的进程称为job。当一个进程以后台启动时候(即启动时加&...
2019-03-31 15:40:59 1604
原创 C++使用system创建进程
一点睛system的原型如下, 其作用是运行以字符串参数的形式传递给它的命令并等待该命令的完成。其作用等价于在shell中执行命令sh -c string。#include <stdlib.h>int system(const char *string);二代码#include <stdlib.h>#include <stdio.h>...
2019-03-31 12:20:49 2101
原创 C++之execlp函数用法
一点睛execlp函数会从PATH环境变量所指得目录中查找符合参数file的文件名,找到后便执行该文件,然后将第二个以后的参数当作该文件的argv[0]、argv[1]......,最后一个参数必须用空指针(NULL)结束。execlp函数声明如下:int execlp(const char *filename, const char *arg, ...)如果执行成功,则函数不...
2019-03-31 11:54:29 14438 2
原创 C++使用execl创建进程实战
一点睛exec用被执行的程序(新的程序)替换调用它(调用exec)的程序。相对于fork函数会创建一个新的进程,产生一个新的PID,exec会启动一个新的程序替换当前的进程,且PID不变。exec函数族的用法参考:https://blog.csdn.net/amoscykl/article/details/80354052下面是函数族中execl()函数用法实战。二使用exec...
2019-03-31 11:24:41 3741
原创 C++通过fork创建子进程实战
一代码#include <iostream>using namespace std;#include <unistd.h> #include <stdio.h> int main() { pid_t fpid; int count = 0; fpid = fork(); //返回子进程的进程...
2019-03-31 10:37:30 3264
原创 C++进程PID编程
一获取pid_t的字节长度1代码#include <iostream>using namespace std;int main(int argc, char *argv[]){ pid_t pid; cout <<"sizeof(pid_t)="<< sizeof(pid_t) << endl; ...
2019-03-27 21:42:24 1760
原创 C++的link和unlink的简单用法
一代码#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>int main(){ int fd; struct stat buf; stat("test...
2019-03-24 15:41:18 3481
原创 C++获取文件的有关信息
一获取文件的大小1代码#include <sys/stat.h>#include <unistd.h>#include <stdio.h>int main() { struct stat buf; stat("/etc/hosts", &buf); printf("/etc/hosts file size =...
2019-03-24 15:37:37 1504
原创 C++读写文件数据块
一复制文件1代码// Copy a file#include <fstream> // std::ifstream, std::ofstreamint main() { std::ifstream infile("myfile.txt", std::ifstream::binary); std::ofstream outfile("new....
2019-03-24 15:28:28 2200
原创 C++获得二进制文件大小和判断文件是否达到末尾
一获得二进制文件的大小1代码#include <iostream>#include <fstream>using namespace std; const char * filename = "afile.dat"; int main() { long l, m; ifstream file(filename, ios...
2019-03-24 15:20:11 5251
原创 用C++流的方式读写文件
一代码#include <fstream>#include <iostream>using namespace std;int main(){ char data[100]; // 以写模式打开文件 ofstream outfile; outfile.open("afile.dat"); cout ...
2019-03-24 15:02:32 751
原创 系统调用——文件与内存映射
一文件与内存映射1代码#include <sys/mman.h> /* for mmap and munmap */ #include <sys/types.h> /* for open */ #include <sys/stat.h> /* for open */ #include <fcntl.h> /* for...
2019-03-24 14:57:31 448
原创 系统调用的文件锁定——建议锁和强制锁测试
一 代码#include <fcntl.h>#include <stdio.h>#include <error.h>#include <sys/stat.h>#include <unistd.h>int main(int argc, char* argv[]){ struct flock lock; ...
2019-03-24 14:41:03 249
原创 系统调用设定文件偏移量和获取文件状态
一对空文件设置偏移量到5处,写入字符串"boys"1代码#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <unistd.h>#include <fcntl.h>#include <string.h>int m...
2019-03-24 14:14:23 808
原创 系统调用文件读写操作
一从文件中读数据1代码#include<stdio.h>#include<unistd.h>#include<sys/types.h>#include<sys/stat.h>#include<fcntl.h>int main(void){ int fd = -1,i; ssize_t size ...
2019-03-24 14:01:19 1950
原创 Linux系统调用下的文件I/O编程
一点睛在Linux下对文件进行输入输出操作(I/O操作)有3中编程方式。1调用C库中文件的I/O函数,比如fopen、fread、fwrite、fclose等。2使用Linux的系统调用3 C++文件流的操作二I/O介绍I/O就是输入/输出,它是主存和外部设备(比如硬盘和U盘)之间复制数据的过程,其中数据从设备到内存的过程称为输入,数据从内存到设备的过程叫输出。I/...
2019-03-24 13:40:52 429
原创 Linux文件类型
一 普通文件类型Linux中最多的一种文件类型, 包括纯文本文件(ASCII);二进制文件(binary);数据格式的文件(data);各种压缩文件.第一个属性为 [-]。[root@localhost ~]# lltotal 20-rw-------. 1 root root 1579 Mar 4 2018 anaconda-ks.cfgdrwxr-xr-x. 16 ro...
2019-03-23 16:36:10 353
原创 文件系统基本概念
一文件的属性信息查看/root下文件属性[root@localhost ~]# lltotal 20-rw-------. 1 root root 1579 Mar 4 2018 anaconda-ks.cfgdrwxr-xr-x. 16 root root 174 Mar 10 08:07 C++-rw-r--r--. 1 root root 15080 Oct...
2019-03-23 16:02:36 301
原创 Unicode编码的实现
一点睛Unicode的实现和编码方式不一定等价。Unicode编码是一种理论层面的东西。Unicode编码的实现方式称为Unicode转换格式(UnicodeTransfomationFormat,UTF)。Unicode编码的实现方式主要由UTF-8,UTF-16,UFT-32等,分别以字节(BYTE)、字(OWORD,2个字节)、双子(DWORD,4个字节,实际只用了31位,最高位为...
2019-03-23 15:25:35 11600 3
原创 查看和修改Linux系统的字符集
一点睛字符集在Linux系统中体现形式是一个环境变量,以CentOS为例,其查看当前终端使用字符集的方式有以下及几种方式。二实战——查看Linux的字符集# 第一种[root@localhost ~]# echo $LANGen_US.UTF-8# 第二种[root@localhost ~]# env|grep LANGLANG=en_US.UTF-8# 第三种[r...
2019-03-23 11:20:22 4410
原创 C++自定义异常和字符集合
一std:exception类简单使用1代码#include <iostream>#include <exception>using namespace std;struct MyException : public exception{ const char * what () const throw () { return "C++...
2019-03-23 11:11:04 278
原创 计算机的3种字符集
一点睛计算机字符集可归类3种:单字节字符集(SBCS)、多字节字符集(BMCS)和宽字符集(Unicode字符集)。二单字节字符集它的所有字符都只有一个字节的长度,SBSC是一个理论规范。具体实现时有两种字符集:ASCII字符集和扩展ASCII字符集。ASCII字符主要用于美国,全称是美国国家标准信息交换码,使用7位来表述一个字符,总共可以表示128个字符。在计算机刚刚在美...
2019-03-23 10:38:53 2036
原创 C++字符串实战下
一找出字符串str中所有的abc1代码#include<iostream>#include<string>using namespace std;int main(){ string str("babccbabcaabcccbabccabcabcabbabcc"); int num = 0; size_t fi = str....
2019-03-20 21:50:21 173
原创 C++字符串实战上
一第一个C++字符串例子1代码#include <iostream>#include <string>using namespace std;int main (){ string mystring = "This is a string"; cout << mystring<<endl; return 0;}...
2019-03-20 21:46:38 235
原创 C++预处理宏实战
一标准宏的例子1代码#include <iostream>using namespace std;// 标准宏名称#include <iostream>using namespace std;int main(){ cout << "This is the line number " << __L...
2019-03-18 21:52:53 224
原创 C++异常处理实战
一点睛try语句块中的代码被正常执行。如果有例外发生,代码必须使用关键字throw和一个参数来抛出一个例外。这个参数可以是任意有效的数据类型,它的类型反映了例外的特征。如果有例外发生,也就是说try语句块中有一个throw指令被执行了,catch语句块就会被执行,用来接收throw传来的例外参数,二异常处理的例子1代码#include <iostream>...
2019-03-17 21:39:19 270
原创 C++命名空间实战
一点睛命名空间的作用在于全局对象或函数很有可能重名而造成重复定义的错误,命名空间的使用可以避免这些错误的发生。二命名空间的简单例子1代码#include <iostream>using namespace std;namespace first { int var = 5;} namespace second { double v...
2019-03-17 20:20:52 237
原创 C++模板实战
一第一个函数模板的例子1代码#include <iostream>using namespace std;template <class T> T GetMax(T a, T b) { T result; result = (a > b) ? a : b; return (result);}int main() { ...
2019-03-17 19:32:18 437
原创 C++的多态实战
一指向基类指针的例子1代码#include <iostream>using namespace std;class CPolygon {protected: int width, height;public: void set_values(int a, int b) { width = a; height = b; }}...
2019-03-17 18:21:48 395
原创 C++类之间的继承
一被继承成员的访问权限1代码#include <iostream>using namespace std;class CPolygon {protected: int width, height;public: void set_values(int a, int b) { width = a; height = b; }}; clas...
2019-03-17 17:23:19 1083
原创 C++友元函数和友元类实战
一友元函数的例子1代码#include <iostream>using namespace std; class CRectangle { int width, height;public: void set_values(int, int); int area(void) {return (width * height);} ...
2019-03-17 17:01:30 281
原创 C++关键字this和静态成员
一关键字this1代码#include <iostream>using namespace std; class CDummy {public: int isitme(CDummy& param);}; int CDummy::isitme(CDummy& param) { if (&param == thi...
2019-03-17 16:40:50 220
原创 C++类的指针和操作符重载
一类的指针1代码#include <iostream>using namespace std;class CRectangle { int width, height;public: void set_values(int,int); int area(void) {return (width*height);}}; void CRe...
2019-03-17 15:03:28 1324
原创 C++类以及构造函数实战
一第一个类的例子1代码#include <iostream>using namespace std;class CRectangle { int x, y;public: void set_values(int, int); int area(void) {return (x*y);}}; void CRectangle::set...
2019-03-17 14:38:10 318
原创 C++结构体
一一个结构体的例子1代码#include <iostream>using namespace std;#include <stdlib.h>#include <string.h>struct movies_t { char title[50]; int year;}mine, yours;void printmovi...
2019-03-16 21:05:14 1002
原创 C++动态分配内存
一代码#include <iostream>using namespace std;#include <stdlib.h>int main() { char input[100]; int i, n; long * l; cout << "How many numbers do you want to type i...
2019-03-16 20:45:27 295
原创 C++各种指针
一第一个指针例子1代码#include <iostream>using namespace std;int main() { int value1 = 5, value2 = 15; int *p1, *p2; p1 = &value1; // p1 = address of value1 p2 = &value2; /...
2019-03-16 17:26:32 774
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人