C/C++小知识

本文介绍了C++中使用setprecision()和setiosflags(ios::fixed)控制浮点数输出精度的方法,展示了如何动态分配及释放二维数组,并列举了多个Linux环境下常用的系统调用及其所在头文件,包括socket编程、条件变量等待、时间获取等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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

delete[] p;


常用函数所在头文件:

函数

头文件

int unlink(const char *pathname)

#include<unistd.h>

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

#include<sys/types.h> #include<sys/socket.h>

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

#include<sys/types.h> #include<sys/socket.h>

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<string.h>

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

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

#include<sys/socket.h>



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



linux网络编程

pthread_cond_timedwait()------#include<pthread.h>

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

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

pthread_cond_wait()------#include<pthread.h>

clock_gettime()-----#include<time.h> 只要是与时间相关的函数,都在这个头文件里面,另外,如果用到这个函数,编译是要加上 -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  (重启单个网卡)




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值