ошибка C3861: 'strcpy': идентификатор не найден

-5

почему я получаю эту ошибку?

* EDIT Я опубликовал свое решение внизу. Оказывается, я не смог использовать strcpy() в определенном разделе моей программы.

спросил(а) 2012-05-02T01:13:00+04:00 7 лет, 8 месяцев назад
2
2 ответа
84

Вы имеете в виду strcpy()? Нет стандартной функции, называемой strcopy() о которой я знаю. Кроме того, если вы используете C++, то, если это возможно, используйте std::string вместо этого, поскольку это будет обрабатывать копирование и другие манипуляции с строками для вас.

ответил(а) 2012-05-02T01:14:00+04:00 7 лет, 8 месяцев назад
57

Я придумал решение, которое сработало для меня. если у вас возникли проблемы, подобные тому, что я делал с помощью 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();

ответил(а) 2012-05-02T21:06:00+04:00 7 лет, 8 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема