将字符串添加到char数组并在C中以\ 0分隔

亚历山德罗·洛鲁索(Alessandro Lorusso)

我正在尝试编写一些代码,以使单词不断添加到名为sTable的字符数组中,并以\ 0分隔。sTable的最终内容如下所示:

“ word \ 0int \ 0paper \ 0mushroom \ 0etc \ 0”

我的第一个想法是将单词读入一个单独的字符数组tempWord并将它们连接在一起,但是,我如何能够在它们之间添加\ 0并使sTable ass保留为最终数组?我对C不太熟悉,在此先感谢您的帮助!

荒谬的

您可以通过在要接收单词的单词数组中保留下一个位置的指针来实现此目的。add_word()下面的函数将指针指向chars和字符串数组中某个位置添加wrd到以开始next的位置后,返回指向空终止符的位置的指针。next指针初始化为给定的字符阵列中的第一个位置的地址words[]请记住,这里没有错误检查,因此调用者负责确保字符串适合数组。

#include <stdio.h>

#define MAX_SIZE  1000

char * add_word(char *next, const char *wrd);

int main(void)
{
    char words[MAX_SIZE];
    char *next = words;

    next = add_word(next, "word");
    next = add_word(next, "int");
    next = add_word(next, "mushroom");
    next = add_word(next, "etc");

    for (char *ptr = words; ptr < next; ptr++) {
        if (*ptr == '\0') {
            printf("\\0");
        } else {
            putchar(*ptr);
        }
    }

    putchar('\n');

    return 0;
}

char * add_word(char *next, const char *wrd)
{
    while (*wrd != '\0') {
        *next++ = *wrd++;
    }
    *next++ = '\0';

    return next;
}

程序输出:

word\0int\0mushroom\0etc\0

这是上述程序的一个版本,已被修改,以便该add_word()函数获取要添加的单词的起始位置的索引,并返回下一个单词的索引。word_indices[]还添加了一个数组,以保存添加到的每个单词的起始索引words[]

#include <stdio.h>

#define MAX_SIZE  1000

size_t add_word(char *tokens, size_t next, const char *wrd);

int main(void)
{
    char words[MAX_SIZE];
    size_t word_indices[MAX_SIZE] = { 0 };
    size_t  next = 0, count = 0;

    char *input[4] = { "word", "int", "mushroom", "etc" };

    for (size_t i = 0; i < 4; i++) {
        next = add_word(words, next, input[i]);
        word_indices[++count] = next;
    }

    /* Show characters in words[] */
    for (size_t i = 0; i < next; i++) {
        if (words[i] == '\0') {
            printf("\\0");
        } else {
            putchar(words[i]);
        }
    }
    putchar('\n');

    /* Print words in words[] */
    for (size_t i = 0; i < count; i++) {
        puts(&words[word_indices[i]]);
    }

    return 0;
}

size_t add_word(char *tokens, size_t next, const char *wrd)
{
    while (*wrd != '\0') {
        tokens[next++] = *wrd++;
    }
    tokens[next++] = '\0';

    return next;
}

程序输出:

word\0int\0mushroom\0etc\0
word
int
mushroom
etc

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C ++字符串解析,以0分隔

来自分类Dev

将千位分隔符“ thousands”添加到浮点数

来自分类Dev

PHP将千位分隔符添加到数字并保持前导零

来自分类Dev

将千位分隔符添加到任何数字,即使它包含特殊字符

来自分类Dev

自动添加千位分隔符 (Swift)

来自分类Dev

oracle中的千位分隔符功能?

来自分类Dev

DBGrid中的千位分隔符

来自分类Dev

awk中的千位分隔符

来自分类Dev

oracle中的千位分隔符功能?

来自分类Dev

如何将千位分隔符更改为格式字符串中的撇号

来自分类Dev

在Swift中将千位分隔符添加到Int

来自分类Dev

有条件地将前缀添加到逗号分隔的字符串中的令牌

来自分类Dev

在C#中使用正则表达式将分隔符添加到字符串

来自分类Dev

INSERT INTO 语句自动将千位分隔符添加到从 1000k 开始的 java 整数

来自分类Dev

我如何从文件列表中读取以数字开头的csv,并在空白之前使用r将其添加到由下划线分隔的字符串的末尾?

来自分类Dev

我如何从文件列表中读取以数字开头的csv,并在空白之前使用r将其添加到由下划线分隔的字符串的末尾?

来自分类Dev

JavaScript-将分隔符添加到字符串

来自分类Dev

将分隔符添加到不规则长度的字符串-Javascript

来自分类Dev

千位分隔符带有“/”的字符串数字格式

来自分类Dev

如何将 Python 字符串变量添加到 Python 中的 SQL 字符串变量的一部分?

来自分类Dev

awk将变量添加到列字符串的一部分

来自分类Dev

如何将整数整数值转换为3位点分隔字符串

来自分类Dev

循环遍历数组并将内容添加到以逗号分隔的字符串中,但在最新项目上跳过逗号

来自分类Dev

从行中获取值并删除前导 0 并添加到字符串

来自分类Dev

将逗号分隔的字符串拆分为几列,并将0分配给nospace

来自分类Dev

拆分逗号分隔的字符串并在C#中添加引号-优雅的解决方案

来自分类Dev

如何在angularJS中为数字添加千位分隔逗号?

来自分类Dev

如何在React Native中添加千位分隔符

来自分类Dev

在数字中添加千位分隔符

Related 相关文章

  1. 1

    C ++字符串解析,以0分隔

  2. 2

    将千位分隔符“ thousands”添加到浮点数

  3. 3

    PHP将千位分隔符添加到数字并保持前导零

  4. 4

    将千位分隔符添加到任何数字,即使它包含特殊字符

  5. 5

    自动添加千位分隔符 (Swift)

  6. 6

    oracle中的千位分隔符功能?

  7. 7

    DBGrid中的千位分隔符

  8. 8

    awk中的千位分隔符

  9. 9

    oracle中的千位分隔符功能?

  10. 10

    如何将千位分隔符更改为格式字符串中的撇号

  11. 11

    在Swift中将千位分隔符添加到Int

  12. 12

    有条件地将前缀添加到逗号分隔的字符串中的令牌

  13. 13

    在C#中使用正则表达式将分隔符添加到字符串

  14. 14

    INSERT INTO 语句自动将千位分隔符添加到从 1000k 开始的 java 整数

  15. 15

    我如何从文件列表中读取以数字开头的csv,并在空白之前使用r将其添加到由下划线分隔的字符串的末尾?

  16. 16

    我如何从文件列表中读取以数字开头的csv,并在空白之前使用r将其添加到由下划线分隔的字符串的末尾?

  17. 17

    JavaScript-将分隔符添加到字符串

  18. 18

    将分隔符添加到不规则长度的字符串-Javascript

  19. 19

    千位分隔符带有“/”的字符串数字格式

  20. 20

    如何将 Python 字符串变量添加到 Python 中的 SQL 字符串变量的一部分?

  21. 21

    awk将变量添加到列字符串的一部分

  22. 22

    如何将整数整数值转换为3位点分隔字符串

  23. 23

    循环遍历数组并将内容添加到以逗号分隔的字符串中,但在最新项目上跳过逗号

  24. 24

    从行中获取值并删除前导 0 并添加到字符串

  25. 25

    将逗号分隔的字符串拆分为几列,并将0分配给nospace

  26. 26

    拆分逗号分隔的字符串并在C#中添加引号-优雅的解决方案

  27. 27

    如何在angularJS中为数字添加千位分隔逗号?

  28. 28

    如何在React Native中添加千位分隔符

  29. 29

    在数字中添加千位分隔符

热门标签

归档