如何在没有字符串函数的情况下将新字符串分配给char数组

时间:2018-12-10 02:18:06

标签: c

我正在寻找使用不同字符串修改char数组的方法,例如使用各种字符串的temp char数组。 假设一个char数组A [10] =“ alice”,如何分配A [10] =“ 12”。不使用字符串函数?

TIA

3 个答案:

答案 0 :(得分:2)

在C中,字符串只是char类型的数组,其中包含可打印字符,后跟一个终止的空字符('\0')。

借助这些知识,您可以避开标准函数strcpystrcat并手动分配字符串:

A[0] = '1';
A[1] = '2';
A[2] = '\0';

如果字符串A中的字符超出索引2,则它们无关紧要,因为一旦在A[2]遇到空终止符,字符串处理函数将停止读取字符串。

答案 1 :(得分:2)

就像Govind Parmar的答案一样,但是带有for循环。

#include <stdio.h>
#include <stdlib.h>
int main()
{
    char str[11] = "hello world";
    char new[5] = "2018";   
    int i = 0;

    for (i; new[i] != '\0'; i++)
         str[i] = new[i];

    str[i] = '\0';

    printf("str => '%s' ",str);

    return 0;
}

输出:

str => '2018'                                                                                                              

答案 2 :(得分:0)

好吧,因为字符串数组不是问题,而是指向数组的指针,您可以像这样简单分配

a