为什么我会收到此错误?
*编辑我在底部发布了我的解决方案。事实证明,我无法在程序的特定部分使用 strcpy()。
你的意思是strcpy()
?strcopy()
我所知道的没有标准函数。此外,如果您使用的是 C++,那么如果可能,请改用它,std::string
因为这将为您处理复制和其他字符串操作。
我想出了一个对我有用的解决方案。如果您遇到像我对 strcpy 所做的问题,您可以使用 size() 来计算字符串的大小,然后使用 while 循环遍历并将其添加到 char 数组中。这最终对我有用:
假设我们有一个带有 char 数组 data.name[30] 的数据结构成员,并且文件中有两个单词组成名称(第一个和最后一个),我们不能只使用 strcpy 将它添加到 char 数组中. 我们也不能使用字符串流,因为它会在过程中丢失姓氏。文件中的文本包括由分隔符 # 分隔的字段(以换行符结尾的最后一个字段除外。对于我使用的名称字段:
/* we already declared an ifstream inputFile and opened it. */
while(!inputFile.eof())
{
string temp;
getline(inputFile, temp, '#');
int size=temp.size();
int i=0;
while (i<size)
{
data.name[i]=temp[i];
i++;
}
}
data.name[i]=0;
inputFile.close();