如何在C中重写char数组?

用户

我搜索了一段安静的时间,但令人惊讶的是我找不到答案:

我想重写一个从[0]开始的char数组,但是所有发生的事情是:它总是在追加。这是我的代码:

算法是:我有一个很长的字符串,我希望将其分成几行(每行末尾有空格的地方)。每行应保存在数组Index(lineContent)中;

void print_text(char* content, int menu_width, int which_selected, int menu_height, int scroll_pos)
{
    int posCounter = 0;
    int charCounter = menu_width-10;
    int printOutCounter;

    char* lineContent[400]; // 400 lines max

    short spaceFound;

    while (strlen(content) > menu_width) // If string is longer than 1 line
    {
        //Interesting Part ---------- START

        char changeString [strlen(content)];
        char printString [menu_width-10];
        spaceFound = 0;
        charCounter = menu_width-10;
        lineContent[posCounter] = malloc(MAXITEMSTR);


        while (spaceFound == 0)
        {
            if (content[charCounter] == ' ')
            {
                // I guess the error goes between here ...
                strncpy(changeString,content,strlen(content));
                strncpy(printString,content,menu_width-10);
                // ...and here
                memmove(&changeString[0], &changeString[charCounter], strlen(content));
                content=changeString;
                lineContent[posCounter]=printString;
                strcat(lineContent[posCounter],"\0");
                posCounter++;
                spaceFound = 1;

                //Interesting Part ---------- END
            }

            charCounter--;

            if (charCounter <= 0)
                spaceFound = 1;
        }
    }
}

就像我说的,最后,当检查的内容时lineContent,每个条目都是相同的(最后一行的条目)。

我认为这是因为,strcpy仅追加到末尾,因此我必须清除数组以擦除前一行。因此它将从[0]开始,而不是从最后一个打印的字母开始。

有谁知道如何做到这一点?是否有一个函数可以覆盖char数组而不是附加它?

亲切的问候

伊戈尔

Strcat追加到末尾,strcpy覆盖存储在字符串中的值。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C中填充char数组

来自分类Dev

如何在C中操纵char数组

来自分类Dev

如何在C中输出char数组

来自分类Dev

C如何在char数组中解析int和char?

来自分类Dev

如何在C ++中的char数组中输入空格?

来自分类Dev

如何在数组中的C ++中定义char大小?

来自分类Dev

如何在C / C ++函数中返回char *数组?

来自分类Dev

循环和char数组如何在C中工作?

来自分类Dev

如何在C中的char数组上应用模运算?

来自分类Dev

如何在C中反编译char数组

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在C的char数组中存储String值?

来自分类Dev

如何在C中覆盖预分配的char数组

来自分类Dev

如何在C中的char数组中保存命令的输出?

来自分类Dev

如何在C#的TextBox中显示char数组?

来自分类Dev

如何在C中传递函数多维char数组?

来自分类Dev

如何在C ++ char数组中存储“ \ 0”?

来自分类Dev

如何在函数(语言c)中获取char数组大小?

来自分类Dev

如何在C中覆盖预分配的char数组

来自分类Dev

如何在C++中传递和检索char数组

来自分类Dev

如何在C中的char数组中复制uint8_t数组

来自分类Dev

如何在C中的char数组中复制uint8_t数组

来自分类Dev

如何在C语言中的char数组中添加char / int?

来自分类Dev

如何在C ++中检查char数组是否包含任何不带循环的char?

来自分类Dev

如何在{C}的for循环中将char指针放入数组char中

来自分类Dev

如何在c中的一个char数组的中间插入多个char?

来自分类Dev

如何在C中的char数组末尾添加一个char(零)?

来自分类Dev

如何在char数组中插入值?

来自分类Dev

如何在C中打印出由char **创建的字符串(数组)数组?

Related 相关文章

热门标签

归档