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

Copy contents of non null terminated char array into another char array

我有一个结构数组,每个结构都有一个 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 inputBuffer[80];

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

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

我试过使用:

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

但由于 inputBuffer 不是 null 终止的,所以它不起作用。如何将 inputBuffer 中的所有字符复制到 history[index].input 中?

你要memcpy

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