-1

为什么我会收到此错误?

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

4

2 回答 2

5

你的意思是strcpy()strcopy()我所知道的没有标准函数。此外,如果您使用的是 C++,那么如果可能,请改用它,std::string因为这将为您处理复制和其他字符串操作。

于 2012-05-01T22:14:30.680 回答
2

我想出了一个对我有用的解决方案。如果您遇到像我对 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();
于 2012-05-02T18:06:57.383 回答