将非 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]));
我有一个结构数组,每个结构都有一个 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]));