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

Fatility Fail. ini файлы и 0xc0000005 - C++

Восстановить пароль Регистрация
 
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
02.06.2014, 15:28     Fatility Fail. ini файлы и 0xc0000005 #1
И снова здрасте!
При вводе Логина (Не говоря уже о пароле) выдает ошибку
""""Необработанное исключение в "0x00011e94" в "iniFile.exe": 0xC0000005: Нарушение прав доступа при записи "0x00015350".""""
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#include <Windows.h>
#include <iostream>
 
using namespace std;
 
char *IniRead(char *filename, char *section, char *key);
bool IniWrite(char *filename, char *section, char *key, char *data);
 
int main(int argc, char *argv[])
{
    setlocale( LC_ALL,"Russian" );
    char *login_in = "Логин";
    char *pass_in = "Пароль";
    char *login_data = new char[512];
 
    cout << "Создание InI Файла." << endl;
    cout << "Введите логин: ";
 
    cin >> login_in;
 
    IniWrite("D:\\ZFP\\SLs.ini", "All", "Login", login_in);
 
    cout << endl << "Введите пароль: ";
 
    cin >> pass_in;
 
    IniWrite("D:\\ZFP\\SLs.ini", "All", "Password", pass_in);
 
    system("pause");
    return 0;
}
 
char *IniRead(char *filename, char *section, char *key){
    char *out = new char[512];
    GetPrivateProfileString(
        (LPCSTR)section, 
        (LPCSTR)key,
        NULL, 
        out,
        200, 
        (LPCSTR)filename
    );
    return out;
} 
 
bool IniWrite(char *filename, char *section, char *key, char *data){
    return WritePrivateProfileString(
                                (LPCSTR)section,
                                (LPCSTR)key,
                                (LPCSTR)data,
                                (LPCSTR)filename
    );
 
}
Warning'и:
warning C4800: BOOL: принудительно задано логическое значение "true" или "false" (предупреждение о производительности) 52
Предупреждение warning LNK4075: не учитывается "/EDITANDCONTINUE" из-за спецификации "/INCREMENTAL:NO" C:\Users\Виталий\documents\visual studio 2010\Projects\iniFile\iniFile\main.obj
(Второе отключил из-за ошибки в COFF)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
castaway
Эксперт С++
4848 / 2987 / 368
Регистрация: 10.11.2010
Сообщений: 11,028
Записей в блоге: 10
Завершенные тесты: 1
02.06.2014, 15:52     Fatility Fail. ini файлы и 0xc0000005 #2
login_in - это указатель, который может указывать на область памяти, которая доступна только для чтения.
Можно так: login_in[64] = "lduhvuhg";
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
02.06.2014, 15:58  [ТС]     Fatility Fail. ini файлы и 0xc0000005 #3
А что тогда указывать? Как записывать тогда?
zss
Модератор
Эксперт С++
 Аватар для zss
5955 / 5560 / 1788
Регистрация: 18.12.2011
Сообщений: 14,209
Завершенные тесты: 1
02.06.2014, 16:03     Fatility Fail. ini файлы и 0xc0000005 #4
Цитата Сообщение от Natsu_Zirok Посмотреть сообщение
Как записывать тогда?
C++
1
2
3
4
5
6
7
8
char login_in[256] = "Логин";
    char pass_in[256]= "Пароль";
    char login_data[512];
 
    cout << "Создание InI Файла." << endl;
    cout << "Введите логин: ";
 
    cin >> login_in;
Natsu_Zirok
 Аватар для Natsu_Zirok
-1 / 0 / 1
Регистрация: 14.10.2013
Сообщений: 155
02.06.2014, 16:07  [ТС]     Fatility Fail. ini файлы и 0xc0000005 #5
Цитата Сообщение от castaway Посмотреть сообщение
login_in - это указатель, который может указывать на область памяти, которая доступна только для чтения.
Можно так: login_in[64] = "lduhvuhg";
Понял. Но вот что я получил после ввода пароля и закрытия программы "Run-Time Check Failure #2 - Stack around the variable 'pass_in' was corrupted."
Yandex
Объявления
02.06.2014, 16:07     Fatility Fail. ini файлы и 0xc0000005
Ответ Создать тему
Опции темы

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