可以这样在函数中的参数为char *p时,用p[n]这种形式修改p所指字符串的内容吗?
如果在外部 char *p="hello world"这样,我知道不能更改。
但是如果 char*p = str; str是一个数组字符串,这样行吗?
那在函数中想对参数char *p (指向字符串)进行修改,可以用p[n]吗?
我用printf试了一下,发现可以,但不知道这样做是否安全。或者有什么替代方法呢。
(背景:因为strncpy不能给des自动加'\0',所以我用strncpy中修改char *p中的内容,希望在最末尾的后一位加‘\0’)。
谢谢各位大神了。
但是如果 char*p = str; str是一个数组字符串,这样行吗?
那在函数中想对参数char *p (指向字符串)进行修改,可以用p[n]吗?
我用printf试了一下,发现可以,但不知道这样做是否安全。或者有什么替代方法呢。
(背景:因为strncpy不能给des自动加'\0',所以我用strncpy中修改char *p中的内容,希望在最末尾的后一位加‘\0’)。
谢谢各位大神了。
...全文
相关推荐
编写函数void fun(char *s,char *t,char *p)将未在字符串s中出现、而在字符串t中出现的字符, 形成一个新的字符串放在p中,p中字符按原字符串中字符顺序排列,但去掉重复字符。
根据给定的信息,我们需要实现一个C语言函数`void fun(char *s,char *t,char *p)`,该函数的功能是:将未在字符串`s`中出现、而在字符串`t`中出现的字符形成一个新的字符串并存储在指针
分析C++中char*和char[]的区别
那么,它们之间有什么区别呢?char*类型的变量c是一个指针,它指向一个字符串常量“abc”,这个常量存储在文字常量区中。由于是常量,所以不能被修改。如果我们尝试修改它的内容,程序将崩溃。
string中c_str(),data(),copy(p,n)函数的用法总结
`copy(p, n, size_type _Off = 0)` 函数: `copy` 函数允许将 `std::string` 中的一部分内容复制到用户提供的内存位置。
C++string中的insert()插入函数详解
insert() 函数的多种重载形式C++ string 类中的 insert() 函数有多种重载形式,每种形式都有其特定的参数和返回值。
C语言中char*和char[]用法区别分析
例如,`char* s = (char *)malloc(n);` 分配了一块可以容纳 `n` 个字符的内存,并返回该内存块的起始地址。


