为什么我收到此错误?
*编辑我在底部发布了我的解决方案。事实证明,我无法在程序的特定部分使用strcpy()。
答案 0 :(得分:5)
你的意思是strcpy()
?我所知道的没有名为strcopy()
的标准函数。此外,如果您使用的是C ++,那么请尽可能使用std::string
,因为这将为您处理复制和其他字符串操作。
答案 1 :(得分:2)
我想出了一个适合我的解决方案。如果你遇到像strcpy这样的问题,你可以使用size()来计算字符串的大小,然后使用while循环来完成并将它添加到char数组中。这最终对我有用:
假设我们有一个带有char数组data.name [30]的数据结构成员,我们在文件中有两个单词构成名称(第一个和最后一个),我们不能只将它添加到char中数组与strcpy。我们也不能使用字符串流,因为它丢失了进程中的姓氏。文件中的文本包括由分隔符#分隔的字段(除了以换行符结尾的最后一个字段。对于我使用的名称字段:
/* 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();