【发布时间】:2019-09-02 03:44:30
【问题描述】:
我有一个名为array 的数组,我想复制从某个文件中读入的单词并将其存储到该数组中的某个索引处,我该怎么做?
我认为当读取文件时,文件中的所有输入都是“字符串”形式。因此,如果文件中存在数字 100,则表示为“100”。
我尝试了以下方法:
#define maxlength 10
char array[10];
int i = 0;
char word[maxlength];
strcpy(array[i], word); //error
array[i] = word; //error
我的猜测是因为word 是一个字符数组,它实际上不是要复制的字符串。有没有办法可以将word[] 以字符串格式复制到array[] 中? IE。数组中的索引 0 = ["hello"] 索引 1 = ["world"] 等
【问题讨论】:
-
发布真实代码 - minimal reproducible example。
maxlength是什么? -
"有没有办法可以将 word[] 以字符串格式复制到数组[] 中。即数组中的索引 0 = ["hello"] 索引 1 = ["world "] 等" 没有。你有一个字符数组。问题是:你打算如何将
hello打包成一个字符? -
你试过
strcpy(array, word);吗? -
char array[10]声明了一个10-char数组。引用数组元素时[ ]充当取消引用。因此,虽然array可能是char *类型(由于C11 Standard - 6.3.2.1(p3)),但array[i]是char类型,导致您尝试strcpy失败,因为array[i]是不兼容的类型。