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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Romadzao
7 / 7 / 1
Регистрация: 02.07.2012
Сообщений: 120
#1

Сохранение переменной в файл - C++

21.08.2012, 03:27. Просмотров 602. Ответов 2
Метки нет (Все метки)

Есть глобальная переменная static char Pass[20];
Есть поток, в цикле которого эта переменная меняется раз в примерно 0.5 секунды.
В мейне цикл ждёт нажатия еска для сохранения этой переменной в файл и выключения программы.
Помогите с проблемой при сохранении! Если поток закомментировать а переменной что-нибудь присвоить сохраняет нормально. Если поток работает, переменная меняется, то в мейне её можно скопировать в другую переменную, вывести на экран, в общем что угодно с ней делать можно а
C++
1
2
3
    file=fopen("file.txt","w");
    fputs(copyPass,file);
    fclose(file);
выдаёт ошибку в самой программе: "Необработанное исключение в "0x7c919fca" в "exe.exe": 0xC0000005: Нарушение прав доступа при записи "0x2d726583".". Простите, если выделение ошибки покажется чересчур броским. Компилятор код жуёт причмокивая. Как вариант можно сначала выключить поток, но как из мейна это сделать я так и не смог найти. Помогите!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.08.2012, 03:27     Сохранение переменной в файл
Посмотрите здесь:

Сохранение переменной в файл - C++
Переменную totalCounter, считываю из файла при старте программы и сохраняю файл при закрытии. Конструктор работает нормально, на экран...

Сохранение значения переменной при наследовании - C++
Есть ли способ сохранить полученное значение переменной count в дочернем классе B после наследования? Небольшой образец ситуации: ...

сохранение в файл - C++
можете подсказать как сохранять в файл вектор классов, есть три класса class defender private: int a; string b; class...

сохранение в файл - C++
как сохранить массив структур в файл и как считать из файла в массив структур

Сохранение в файл - C++
#include <iostream> #include <string.h> #include <conio.h> #include <stdlib.h> #include <sstream> #include <fstream> using...

сохранение в файл - C++
Всем привет. Люди добрые помогите пж сохранить введенный результат в файл. #include <iostream.h> #include <stdio.h> #include...

Сохранение в файл - C++
Здравствуйте! Вообщем у меня такая задача: даны адресса с 77.106.0.0 до 77.106.225.225, нужно перебрать все возможные комбинации, т.е...

Сохранение структуры в файл - C++
Подскажите если дана структура из трех полей как сохранить ее в файл и загрузить обратно из файла на дисплей. Хотя бы ссылку на что нибудь...

Сохранение картинок в файл - C++
Здравствуйте! В моей программе возникла потребность сохранять картинки в файл таким образом чтобы: 1. Пользователь не мог его...

Сохранение в текстовый файл - C++
Есть вот такой примерный код проги, которая должна считать значение ф-ции с определённым шагом(не меньше 10 значений), и считать её в...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
I.M.
564 / 547 / 5
Регистрация: 16.12.2011
Сообщений: 1,389
21.08.2012, 03:32     Сохранение переменной в файл #2
Сделать это (закрыть и/или остановить поток) можно с помощью синхронизации.
С ее же помощью можно гарантировать, что пока вы работаете с глобальной переменной в главном потоке, никакой другой поток эту переменную не тронет.
Простейшая синхронизация - глобальная переменная bool. Если посложнее - то std::mutex
Romadzao
7 / 7 / 1
Регистрация: 02.07.2012
Сообщений: 120
21.08.2012, 17:40  [ТС]     Сохранение переменной в файл #3
Проблема решена, но нет, не в потоке дело, а в массиве. Это ооочень странно, но инициализация массива была до операций с файлом, я перенёс после операций с файлом и всё заработало! Казалось бы, ну при чём тут этот массив???
Так не работало
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    char *query=(char*)malloc(68); // Вот эта загадочная строчка
    file=fopen("file.txt","r");
    fgets(Pass,20,file); 
    fclose(file);
    printf("Loaded pass = %s\n",Pass);
    SOCKET s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    connect(s, (sockaddr *)&ssin, sizeof(ssin));
    sprintf(query,"POST /qwerty/uiop.php HTTP/1.1"
    "\nContent-Length: 68"
    "\nConnection: Keep-Alive"
    "\nAccept-Encoding: gzip"
    "\nAccept-Language: ru-RU,en,*"
    "\nUser-Agent: Mozilla/5.0"
    "\nHost: asdfg.hj.kl"
    "\nContent-Type: application/x-www-form-urlencoded\n\n"
    "do=CheckLogin&username=zxcvbnm&pass=%s         ",md5.digestString(Pass));

А так работает

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
    file=fopen("file.txt","r");
    fgets(Pass,20,file); 
    fclose(file);
    char *query=(char*)malloc(68); // Она же, но перенесенная
    printf("Loaded pass = %s\n",Pass);
    SOCKET s=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
    connect(s, (sockaddr *)&ssin, sizeof(ssin));
    sprintf(query,"POST /qwerty/uiop.php HTTP/1.1"
    "\nContent-Length: 68"
    "\nConnection: Keep-Alive"
    "\nAccept-Encoding: gzip"
    "\nAccept-Language: ru-RU,en,*"
    "\nUser-Agent: Mozilla/5.0"
    "\nHost: asdfg.hj.kl"
    "\nContent-Type: application/x-www-form-urlencoded\n\n"
    "do=CheckLogin&username=zxcvbnm&pass=%s         ",md5.digestString(Pass));
Yandex
Объявления
21.08.2012, 17:40     Сохранение переменной в файл
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru