错误C3861:'strcpy':找不到标识符

时间:2012-05-01 22:13:39

标签: c++ visual-studio-2010 visual-c++

为什么我收到此错误?

*编辑我在底部发布了我的解决方案。事实证明,我无法在程序的特定部分使用strcpy()。

2 个答案:

答案 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();