社区
Linux/Unix社区
帖子详情
希望将多个字符串(例如2个),该“字符串”可能含有‘\0',按顺序保存到一段分配的内存中
asdk77
2012-10-19 01:43:11
如题,希望将多个字符串(例如2个),按顺序保存到一段分配的内存中,用memcpy复制了第1个,想将第2个、第3个复制进内存中,本打算用strcat连接,但若中间有‘\0’则终止,我需要的是将完整的串复制进去(包括可能出现的‘\0’)请问如何保存这些字符串呢?
请高手指教!谢谢!
...全文
90
4
打赏
收藏
希望将多个字符串(例如2个),该“字符串”可能含有‘\0',按顺序保存到一段分配的内存中
如题,希望将多个字符串(例如2个),按顺序保存到一段分配的内存中,用memcpy复制了第1个,想将第2个、第3个复制进内存中,本打算用strcat连接,但若中间有‘\0’则终止,我需要的是将完整的串复制进去(包括可能出现的‘\0’)请问如何保存这些字符串呢? 请高手指教!谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
asdk77
2012-10-22
打赏
举报
回复
谢谢!
mymtom
2012-10-19
打赏
举报
回复
上面的程序输出为:
31 32 33 00 34 35 36 00 37 38 39 00
mymtom
2012-10-19
打赏
举报
回复
用memcpy啊
[code=C/C++]
/**
* @file strjion.c
* @brief
*/
#include <stdarg.h>
#include <stdio.h>
#include <string.h>
char *strjoin(char *s, int n, ...)
{
va_list ap;
char *ptr, *arg;
int i;
size_t len;
va_start(ap, n);
ptr = s;
for (i = 0; i < n; i++) {
arg = va_arg(ap, char *);
len = strlen(arg) + 1;
memcpy(ptr, arg, len);
ptr += len;
}
va_end(ap);
return s;
}
int main(int argc, char *argv[])
{
int i;
char s[1024];
strjoin(s, 3, "123", "456", "789");
for (i = 0; i < 12; i++) {
printf("%02x ", (unsigned int)(unsigned char)s[i]);
}
printf("\n");
return 0;
}
[/Code]
max_min_
2012-10-19
打赏
举报
回复
这个估计自己手动实现啦,应该一般字符串的话'\0'是不算在里面的,如果你强行加进去的话,只有自己手动实现了,不是很难,
Python 47个
字符串
方法
# Python 47个
字符串
方法## 课程介绍同学们是否总是要搜资料、查官网后,才知道怎么操作
字符串
?如果是,来学学本课程吧,本课程以讲解官网文档的方式,讲解 Python 47个
字符串
方法,涉及替换、删除、连接、查找、...
多个
字符串
关键字同时满足匹配一个
字符串
和
多个
字符串
关键字分割一个
字符串
有时候我们在处理一个
字符串
的时候,有这样一个需求,如何用2个或
多个
字符串
同时匹配一个
字符串
并得到匹配结果呢 ? 运行程序上面程序,得到结果如下: 二. 我们有时候还会遇到这样的一个需求,有一些不...
输入
字符串
,输出
字符串
中
出现次数最多的字母及其出现次数。如果有
多个
字母出现次数一样,则按字符从小到大
顺序
输出字母及其出现次数。
题目要求是要能够将
字符串
中
的数字字符进行过滤,然后输出出现最多的字母字符及出现次数,若存在
多个
则个数相同的字母字符,则按照从小到大的
顺序
输出字母及出现的次数;若不存在字母字符则输出“no alpha”。 a ....
js将一个
字符串
倒序排列
js
中
如何实现将一个
字符串
换倒序排列呢,方法还是挺多的,如sort等等,这里介绍一种比较简单的方法,如下,需要用到的js方法: split() reverse() join() split()将
字符串
按特定的方式分割重组为一个数组 reverse()...
算法导论 — 思考题15-9
字符串
拆分
假定一个程序员
希望
将一个
字符串
拆分为多段,拆分的
顺序
会影响所花费的时间。例如,假定这个程序员
希望
将一个20个字符的
字符串
在第2个、第8个及第10个字符后进行拆分(字符由左至右,从1开始升序编号)。如果她按由...
Linux/Unix社区
23,124
社区成员
74,508
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章