连接两个字符串数组?

2023-12-24

我是 c 世界的新手,我想将两个数组合并为一个数组,我有一个想法如何做到这一点,但它不起作用:P

char *s_one[] = { "Zorro", "Alex", "Celine" };
char *s_two[] = { "Zorro1", "Alex1"};

char *p = (char*)malloc((sizeof(s_one)+sizeof(s_two))*sizeof(char));
memcpy(p, s_one, sizeof(s_one));
memcpy(p + sizeof(s_one), s_two, sizeof(s_two));

//print out
for (count = 0; count < sizeof(p); count++)
        printf("\narr[%d] = %c.", count, p[count]);

输出只是一些随机字符...... 我做错了什么,提前感谢您的每一个提示

输出应该是: 佐罗 亚历克斯 席琳 佐罗1 亚历克斯1


让我们看看我是否能做到这一点......

s_one是一个数组char *。所以,你的sizeof() and memcpy()操作可能是对指针进行操作,而不是对它们指向内存中其他位置的字符串进行操作。然后,当你去的时候printf()您将指针打印为字符而不是它们指向的字符串(作为字符串)。不确定这里,但也许这会起作用?

printf("\narr[%d] = %s.", count, *p[count]);

如果我回家之前你没修好,我会测试一下看看。


结合 Marvo 的评论sizeof() calls.


这实际上取决于你想要什么,但这是我的尝试,因为我说过我会发布它:

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

int main(void)
{
    char *s_one[] = { "Zorro", "Alex", "Celine" };
    char *s_two[] = { "Zorro1", "Alex1"};

    printf("%lu\n", sizeof(s_one));
    printf("%lu\n", sizeof(s_two));

    int numberOfEntries = (sizeof(s_one) + sizeof(s_two)) / sizeof(char*);
    char **p = (char **)malloc(numberOfEntries);

    printf("%d\n", numberOfEntries);

    memcpy(p, s_one, sizeof(s_one));
    memcpy(p + sizeof(s_one)/sizeof(char *), s_two, sizeof(s_two));

    //print out
    int count = 0;
    for (count = 0; count < numberOfEntries; count++)
        printf("arr[%d] = %s.\n", count, p[count]);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

连接两个字符串数组? 的相关文章

  • 如何在C++中实现模板类协变?

    是否可以以这样一种方式实现类模板 如果模板参数相关 一个对象可以转换为另一个对象 这是一个展示这个想法的例子 当然它不会编译 struct Base struct Derived Base template
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • c 中的错误:声明隐藏了全局范围内的变量

    当我尝试编译以下代码时 我收到此错误消息 错误 声明隐藏了全局范围内的变量 无效迭代器 节点 根 我不明白我到底在哪里隐藏或隐藏了之前声明的全局变量 我怎样才能解决这个问题 typedef node typedef struct node
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 是否有比 lex/flex 更好(更现代)的工具来生成 C++ 分词器?

    我最近将源文件解析添加到现有工具中 该工具从复杂的命令行参数生成输出文件 命令行参数变得如此复杂 以至于我们开始允许它们作为一个文件提供 该文件被解析为一个非常大的命令行 但语法仍然很尴尬 因此我添加了使用更合理的语法解析源文件的功能 我使
  • 可空属性与可空局部变量

    我对以下行为感到困惑Nullable types class TestClass public int value 0 TestClass test new TestClass Now Nullable GetUnderlyingType
  • 在 Javascript 中创建数组

    我对 javascript 不太熟悉 并且在用 javascript 制作 2d 或者也许我可能需要 3d 数组时遇到了一些麻烦 我目前需要收集 2 条信息 一个 ID 和一个值 因此我创建了以下内容 var myArray var id
  • 如何使用 PHP 获取列中的所有值?

    我一直在到处寻找这个问题 但仍然找不到解决方案 如何从 mySQL 列中获取所有值并将它们存储在数组中 例如 表名称 客户 列名称 ID 名称 行数 5 我想获取此表中所有 5 个名称的数组 我该如何去做呢 我正在使用 PHP 我试图 SE
  • 检查 url 是否指向文件或页面

    我们需要以下内容 如果文件确实是文件 则从 URL 下载该文件 否则 如果它是一个页面 则什么也不做 举个简单的例子 我有以下命令来下载文件 My Computer Network DownloadFile http www wired c
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 已过时 - OpenCV 的错误模式

    我正在使用 OpenCV 1 进行一些图像处理 并且对 cvSetErrMode 函数 它是 CxCore 的一部分 感到困惑 OpenCV 具有三种错误模式 叶 调用错误处理程序后 程序终止 Parent 程序没有终止 但错误处理程序被调
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • 将一维数组转换为二维数组[重复]

    这个问题在这里已经有答案了 我正在开发一个程序 我必须将文本文件中的值读入一维数组 我已经成功获取该一维数组中的数字 m1 1 2 3 4 5 6 7 8 9 但我希望数组是 m1 1 2 3 4 5 6 7 8 9 您可以使用此代码 co
  • Bing 地图运行时错误 Windows 8.1

    当我运行带有 Bing Map 集成的 Windows 8 1 应用程序时 出现以下错误 Windows UI Xaml Markup XamlParseException 类型的异常 发生在 DistanceApp exe 中 但未在用户
  • 如何在 C# 中播放在线资源中的 .mp3 文件?

    我的问题与此非常相似question https stackoverflow com questions 7556672 mp3 play from stream on c sharp 我有音乐网址 网址如http site com aud
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • VBA:如何删除Excel中过滤的行?

    我有一个包含一些数据的 Excel 表格 通过使用下一个 vba 代码 我尝试仅过滤某些字段中的空白单元格并删除这些行 ActiveSheet Range A 1 I lines AutoFilter Field 7 Criteria1 A
  • F# 记录:具有相同名称的字段

    请考虑以下记录定义 type A F1 int F2 int type B F1 int F3 int error FS0656 This record contains fields from inconsistent types let
  • 可观察流是否可以通过时间戳进行分区,类似于 Buffer 或 Window?

    我有一个对象流 每个对象都包含一个时间戳 我想将此流划分为不重叠的窗口 其方式与 Observable Buffer 或 Observable Window 非常相似 但是 我希望当对象的时间戳超过某个阈值时 而不是超过实时阈值时 关闭窗口
  • 如何在 php 中使用 onclick 事件重定向页面? [复制]

    这个问题在这里已经有答案了 我尝试使用这段代码 但它不起作用
  • 在 Django 装置中加载 auth.user 和配置文件模型时出现 IntegrityError

    我正在尝试创建一些用于在 Django 中运行测试的装置 现在 我只是从我的开发数据库中转储适当的模型 然后通过测试加载它们 这是我用来转储装置的命令 python manage py dumpdata accounts Profile a
  • 在实践中,Python 3.3 中“yield from”语法的主要用途是什么?

    我很难集中注意力PEP 380 http www python org dev peps pep 0380 哪些情况下yield from有用吗 经典用例是什么 为什么它与微线程相比 到目前为止 我已经使用过生成器 但从未真正使用过协程 由
  • 没有动画但功能完整的jQuery切换()?

    我正在尝试在没有动画的情况下切换元素的可见性 但具有完整的功能 以便我更改启动切换的链接的文本 jQuery toggle tags click function var elem jQuery this jQuery taglist to
  • 为什么 __unicode__ 不起作用但 __str__ 起作用?

    我试图通过自己开发一个网站来打破一些障碍 我首先创建一些注册表页面并列出数据库记录 我对这个事实感到困扰 unicode 方法不会打印我的记录的用户名并且 str does 我知道使用 unicode 是最好的做法 但我只能打印我的对象用户
  • 递减for循环[重复]

    这个问题在这里已经有答案了 我想要一个像这样的 for 循环 for counter in range 10 0 print counter 输出应为 10 9 8 7 6 5 4 3 2 1 a join str i for i in r
  • 使用 ID 删除多行?

    如何通过 Android SQLite 数据库中的 ID 列表删除多行 我以这种方式定义了一个通用的删除方法 protected void deleteWhere String whereClause String whereArgs tr
  • Android使用Intent显示网页

    我正在使用下面的代码来显示网页 Uri uri Uri parse http myurl Intent intent new Intent Intent ACTION VIEW uri startActivity intent 但是当我单击
  • 如何为 Rails 应用程序指定网址?

    我正在使用 Ubuntu 12 04 并且我有一个 Rails 应用程序 我想在启动时启动它 另外 如果我从控制台启动服务器 例如 cd
  • POSIX 线程在 Linux 上是如何实现的?

    我想知道通过 pthreads 库创建的线程实际上是内核级线程还是与内核无关的用户空间线程 我听到过对此相互排斥的意见 所以我想知道真相 在 Linux 2 6 之前 它们本质上是用户空间线程 是粘合在一起的独立进程 因为内核没有真正的线程
  • 如何配置 Rails 3.2+/4 默认生成 .js 而不是 .js.coffee?

    我见过这个问题的许多变体 其中所有答案都只是建议删除coffee rails宝石来自Gemfile this one https stackoverflow com questions 8722195 how can i completel
  • Material UI 选项卡:在选项卡之间切换后,选项卡中的更改将被丢弃

    我使用 Material ui 选项卡组件 在选项卡之间切换后 选项卡中的更改会被丢弃 事实上 在选项卡之间切换后 选项卡会再次呈现 假设我在其中一个选项卡中有一个文本字段 我在这个 textField 中输入一些内容 转到另一个选项卡并返
  • 红宝石中“$$”是什么意思?

    在我的 Rails 控制台中 gt 12680 在其他选项卡的 IRB 中 gt 15550 什么是 在红宝石中代 表什么 My 谷歌 fu http en wikibooks org wiki Ruby Programming Synta
  • Windows 身份验证不适用于 IIS Express 10

    在工作中 我们被迫进行硬件更新 从带有 VS 2013 和 IIS Express 6 的 Windows 7 机器更换为带有 VS 2017 和 IIS Express 10 的 Windows 10 机器 问题是 Windows 身份验
  • Graph API 与自己的应用程序主页 feed

    我正在尝试获取端点 me home来自 Facebook 图形 API v2 1 使用 Graph API Explorer 工具 我得到了与 Facebook 移动应用程序显示的结果类似的良好结果 但是 当我切换到我的应用程序并使用完全相
  • 验证内核是否在 CUDA 中执行的方法

    当我使用错误设置的参数调用内核时 例如 每个块超过 512 个线程 或者当其中的操作需要的内容超出我的设备必须提供的内容时 例如 寄存器太多 内核根本不会被执行 但没有异常或返回值来指示发生了什么 我想知道是否有办法验证内核是否被执行 tr
  • 连接两个字符串数组?

    我是 c 世界的新手 我想将两个数组合并为一个数组 我有一个想法如何做到这一点 但它不起作用 P char s one Zorro Alex Celine char s two Zorro1 Alex1 char p char malloc