社区
C++ 语言
帖子详情
追加字符串内容,需要申请原字符串内存空间吗
fansses
2006-08-20 11:59:28
void Change(char *fName){
if (fName[strlen(fName)-1]!='a')
{
strcat(fName,"a");
std::cout<<fName;
}
vc2003编译通过后出现指针错误。intel c++9.0编译通过后,运行结果达到要求。
请问,是哪个有错误?
如果要申请扩充fName的空间,应该怎么做?
...全文
294
6
打赏
收藏
追加字符串内容,需要申请原字符串内存空间吗
void Change(char *fName){ if (fName[strlen(fName)-1]!='a') { strcat(fName,"a"); std::cout<<fName; } vc2003编译通过后出现指针错误。intel c++9.0编译通过后,运行结果达到要求。 请问,是哪个有错误? 如果要申请扩充fName的空间,应该怎么做?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
lj860603
2006-08-21
打赏
举报
回复
C++偶不会,不知道哪个函数用来扩充内存,C中用realloc扩充。
lj860603
2006-08-21
打赏
举报
回复
要看空间够不够,不够的话当然要扩充内存空间。
在你的程序需要扩充空间呀,因为要在结尾连接一个字符。
wshjobless
2006-08-21
打赏
举报
回复
这是因为你传递的参数形式为(char *fName),
只在fName为char []数组的定义时,
你才可以在函数内部改变原始字符串的内容
wshjobless
2006-08-21
打赏
举报
回复
char *fName,非常象C的用法,C中字符串的定义一般为char fName[n],
长度取决于n,很显然,你在这个函数内部是无法找变原来字符串的长度的。
你只能在定义时把n放的足够大!
如果外部实参fName给的是常量定义,如char *fName = "abcsd";
同样不能在函数内部把它变长
如果你用的是char *fName = new ...., :(
你在这个函数内部还是无法改变原来变量的长度
believefym
2006-08-21
打赏
举报
回复
重新new一块,然后memcpy过去
MSDN:
Security Note
Because strcat does not check for sufficient space in strDestination before appending strSource, it is a potential cause of buffer overruns.
踏岸寻柳
2006-08-21
打赏
举报
回复
如果字符数组fName的大小大于其内容的话,永远都不会出错。
你可能是遇到了“字符越界”的情况,也就是说你的字符数组满足不了需要了。
但是,由于这个函数的参数是字符指针,你无法更改其地址,所以,就不存在申请新的空间的问题,你只需要在调用该函数时保证这个字符数组足够大即可。
掰开揉碎『看漫画学Python』中
7.1.2
原
始
字符串
7.1.3 长
字符串
7.2
字符串
与数字的相互转换 7.2.1 将
字符串
转换为数字 7.2.2 将数字转换为
字符串
7.3 格式化
字符串
7.3.1 使用占位符 7.3.2 格式化控制符 7.4 操作
字符串
7.4.1
字符串
查找 7.4.2 ...
java给
字符串
数组
追加
字符串
_java往
字符串
数组
追加
新数据
public class Test {public static void main(String[] args) {//
原
字符串
数组String[] arr = { "
原
字符串
数据1", "
原
字符串
数据2" };// 执行数据添加arr = insert(arr, "
需要
追加
的
字符串
数据1", "
需要
追加
的
字符串
数据2", "
需要
追加
的
字符串
数据3", "
需要
追加
的
字符串
数据4");for (...
【C++】4-1.18 string
追加
字符串
【C++】4-1.18 string
追加
字符串
1.
追加
字符串
2.示例 1.
追加
字符串
将
字符串
内容
附加到一个
字符串
中 2.示例 2.1 append(
字符串
)
追加
字符串
; #include<iostream> #include<string> int main() { std::string s1{ "hello-" }; s1.append("jn10010537!"); std::cout <<"[1]s1="<< s1 << s
如何在
字符串
后
追加
字符或
字符串
如何在
字符串
后
追加
字符或
字符串
. 主要有两种方法: 1.用"+"号 eg:a = "10" a1 = a + "1" 结果为:"101" 也即可以用"+"号来连接你想加的字符或
字符串
2.用_ add() _来进行
追加
eg:a = "10" a1 = a._ _add("1")_ _ 结果为:"101" 3.注意了,在python中想要
追加
字符或
字符串
,没有append()方法这一说!即使是使用add(),也是引用了下划线! ...
javaScript 如何使用js
追加
字符串
呢?
字符串
的操作是任何一门计算机语言都必须面对的问题,那么js中我们该如何对
字符串
进行相关操作列,下文将一一道来: 常见的
字符串
追加
有以下三种需求: 1.在
字符串
最后面添加
字符串
---实现思路:采用加号或concat函数直接在
字符串
后面加上字符 2.在
字符串
开头添加
字符串
---实现思路:采用加号在
字符串
开头位置加上字符 3.在
字符串
指定位置插入
字符串
---实现思路:采用slice函数从
字符串
的直接位置剪切
字符串
,然后再采用加号或concat连接
字符串
例:
字符串
的三种操作方式举例 &l.
C++ 语言
64,636
社区成员
250,540
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章