linux编程问题记录

 1、程序中需要用到字符串的时候,尽可能选择string类型,这种类型的字符串有很多比较容易的功能,如字符串之间可以直接拷贝赋值

string a;

string b="123";

a=b;

 2、指针与其指向内容求长度问题

(1)、假设有如下定义:

char buf[1024];

此时用

sizeof(buf);

求得的结果是1024,即buf数组的大小;

(2)现在改为定义如下:

int n=1024;
char *buf=new char[n];

再用

sizeof(buf);

求得结果为1而不是1024,级是buf指针本身的大小,而非它指向数组的大小;

如果要求得真确的结果,需用

n*sizeof(char):

*这一点很容易被忽略,在程序中如果对缓冲区大小求解有误,很容易造成程序运行错误甚至是崩掉;

原文地址:https://www.cnblogs.com/zlgxzswjy/p/5436387.html