C/C++小知识

setprecision()、setiosflags(ios::fixed) 等控制符所在头文件 #include
setprecision()、setiosflags(ios::fixed)两者组合可以控制输出浮点数小数位个数

C++动态分配二维数组
以动态分配一个m*n二维整形数组为例:
int **p=new int*[m];
for(i=0; i {
     p[i]=new int[n];
}

动态释放二维数组,按与申请时相反的步骤释放
for(i=0; i {
     delete[] p[i];
}

delete[] p;


常用函数所在头文件:

函数

头文件

int unlink(const char *pathname)

#include

int socket(int domain ,int type, int protocal)

#include #include

int bind(itn sockfd, const struct sockaddr *addr, socklen_t addrlen)

#include #include

void bzero(void *s, size_t n)

char *strcpy(char *dest,const char *src)

char *strcpy(char *dest,const char *src, size_t n)

#include

int getsockname(int sockfd, struct sockaddr *addr, socklen_t addrlen)

int getpeername(int sockfd, struct sockaddr *addr, socklen_t addrlen)

#include



getpwnam:访问/etc/passwd文件
getgetspnam():访问/etc/shadow文件



linux网络编程

pthread_cond_timedwait()------#include

根据pthread_cond_timedwait()的返回值来判断是否等待条件超时,int status=pthread_cond_timedwait(); if(status == ETIMEDOUT)

则说明超时,注意,ETIMEDOUT是在头文件errno.h中定义,所以需要加上头文件#include

pthread_cond_wait()------#include

clock_gettime()-----#include 只要是与时间相关的函数,都在这个头文件里面,另外,如果用到这个函数,编译是要加上 -lrt

编译有线程的程序要加上 -lpthread

整数以十六进制打印--%x  通常用0x%x,明确表示这是一个16进制数


修改目录的权限:

chmod 权限 目录名        //其中权限即可以是777这种,也可以是o+x,u+x等

递归修改目录及其下面所有子目录的权限

chmod -R 权限 目录名


scp命令:用于两台主机之间传递文件

上传文件:  scp  文件名 root@对方主机ip地址:文件存放目录

下载文件: scp root@对方主机ipi地址:文件路径  本机存放路径

如果是要拷贝目录或文件夹,则要在scp的后面加上-r 选项, root表示以root用户登录对方主机


递归地创建多层目录 mkdir -p 目录


Python默认不支持中文,需要在文件头部加上 #coding=utf-8


ubuntu给一张网卡绑定多个IP地址:

(1)静态修改

# vim /etc/network/interfaces

添加:

auto eth0:0

iface eth0:0 inet static

address 新的ip地址

netmask 255.255.255.0(需要根据具体情况来设置)

重启网卡后修改生效,若要绑定更多的ip,继续添加 eth0:1,eth0:2...即可。

(2)动态修改

ifconfig eth0:0 新的ip地址 broadcast 广播地址 netmask 子网掩码

/etc/init.d/networking restart  (重启所有网卡)

ifup eth0  ifdown eth0  (重启单个网卡)




你可能感兴趣的:(C/C++)