如何得到一个字符串的最大长度

来源:百度知道 编辑:UC知道 时间:2024/06/07 01:18:42
函数接收到字符串的地址后
如何知道 这个字符串到底能装下多少东西?

就是 从 这个地址 到 最后一个元素
只见有多长
不是这个样子的
strlen 碰到 \0 就会跳出
这样就连二进制文件都处理不了
何况字符串的原长度

无法知道...
如果是字符串. \0结尾 , 但是都不推荐, 这种玩法比较危险.
如果是数据, 你需要明确告诉函数数据空间大小

C 是的字符串就是字符数组, 而 C 对数组并没有边界信息, 如果你的函数只接收到一个字符串指针地话, 那是没办法的, 一般应该这样的, 如标准库中的 read 函数:
int read(int fd, char *buffer, size_t len);
需要一个参数 len 来指定 buffer 的大小, 这样 read 内部就知道其实大小了!

用strlen函数 他返回接受参数的长度 不包括末尾的结束符 \0
需要包含string.h头文件
例如
long a;
char s[]="sjfkjsdlkfjuroewir";
a=strlen(s);