将非null终止的char数组的内容复制到另一个char数组中

时间:2015-01-29 16:52:30

标签: c arrays strcpy

我有一个结构数组,每个结构都有一个char数组和一个int。

typedef struct {
    int id; //Each struct has an id
    char input[80]; //Each struct has a char array
    } inpstruct;

inpstruct history[10]; //Array of structs is created

我有另一个包含用户输入的char数组

char inputBuffer[80];

用户输入一个单词后跟\n个字符。例如,inputBuffer将包含3个字符:'l' 's' '\n'

我想将inputBuffer中的所有字符复制到history[index].input

我尝试过使用:

strcpy(history[index].input, inputBuffer);

但由于inputBuffer未终止,因此无效。如何将inputBuffer中的所有字符复制到history[index].input

1 个答案:

答案 0 :(得分:0)

你想要memcpy

memcpy(history[index].input, inputBuffer, sizeof(inputBuffer)*sizeof(inputBuffer[0]));