Форум программистов, компьютерный форум CyberForum.ru

Запись в структуру - C++

Восстановить пароль Регистрация
 
NextJkeee
0 / 0 / 0
Регистрация: 14.08.2011
Сообщений: 50
26.04.2013, 22:56     Запись в структуру #1
Вот такой вот вопрос - Есть структура
C++
1
2
3
4
struct scan_data{
    char login[80];
    char pass[80];
};
Нужно записать хеш пароля в структуру

Вводим пароль
C++
1
cin.getline(Data.pass, 79);
Теперь нужно переделать пароль в хеш функцией md5(), но чтото не так.
C++
1
Data.pass=md5(Data.pass);
Выдает ошибку expression must be a modifiable lvalue
Не подскажете?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.04.2013, 22:56     Запись в структуру
Посмотрите здесь:

Запись из массива символов в структуру C++
Указатель на структуру, правильная ли запись? C++
Запись в структуру из файла. База данных C++
Запись структуры и чтение из файла в структуру ( как бы лучше ) C++
Переделать запись в файл информации о студенте через структуру C++
Как создать структуру-список, поля которой — ссылка на такую же структуру C++
C++ Запись в строку char*, входящую в структуру
Ввод с клавиатуры данных и запись их в структуру C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
26.04.2013, 23:02     Запись в структуру #2
Семантику функции внимательней прочитайте. Там походу возврат аллоцированного char*, т.е.

C++
1
2
3
char *pass = md5(Data.pass);
strcpy(Data.pass, pass, sizeof(Data.pass));
free(pass);
п.с. и при этом sizeof(pass) <> Data.pass
NextJkeee
0 / 0 / 0
Регистрация: 14.08.2011
Сообщений: 50
26.04.2013, 23:41  [ТС]     Запись в структуру #3
Вот что выдал компилятор
C++
1
2
3
1>Regsys.cpp(83): error C2440: 'initializing' : cannot convert from 'std::string' to 'char *'
1>          No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
1>Regsys.cpp(84): error C2661: 'strcpy' : no overloaded function takes 3 arguments
Добавлено через 29 минут
В общем, разобрался Сделал вот так
C++
1
2
    string pass = md5(Data.pass);
strcpy(Data.pass, pass.c_str());
Yandex
Объявления
26.04.2013, 23:41     Запись в структуру
Ответ Создать тему
Опции темы

Текущее время: 21:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru