powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сохранить содержимое памяти в файл
6 сообщений из 6, страница 1 из 1
Сохранить содержимое памяти в файл
    #33095979
Usel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите есть в си подобная команда? Задача сохранить в файл значения всех переменных (перебирать долго их очень много) и потом загрузить их оттуда.
Либо посоветуйте как это можно сделать..
заранее спасибо..
p/s/ Желательно чтобы оно работало для старого TC 3.0
...
Рейтинг: 0 / 0
Сохранить содержимое памяти в файл
    #33095994
Фотография NewYear
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
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.
      .........
      struct 
      {
        int    struclen;
        int    type;
        MQMD   md;
        MQLONG msglen;
        char   message [ 65536 ]; // мне хватит
      } dump = {  0 ,  NEWYEAR_MQMSG_DUMP, { MQMD_DEFAULT}};

      .............

      dump.struclen  =  &dump.message[ 0 ] - (char*)&dump  +  dump. msglen ;
      if(dump.struclen %  4 )
          dump.struclen  +=  4  - dump.struclen %  4 ;

	  unsigned long outlen;
	  if (!WriteFile(dwFileHandle, &dump, dump.struclen, &outlen,  0 ))
	  {
          	void *err;
         	FormatMessage(
		    FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
		    NULL, 
		    GetLastError(),
		    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), 
		    (LPTSTR) &err,
		     0 ,
		    NULL);
	        cout << (char*) err ;
	        LocalFree(err);
            cout << "Dump failed.\n" << flush;
            CloseHandle(dwFileHandle);
            DeleteFile( argv[ 3 ] );
            return  1 ;
     }	

...
Рейтинг: 0 / 0
Сохранить содержимое памяти в файл
    #33096033
Usel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Можно подробнее немного..

что такое
MQMD md;
MQLONG msglen;
?

Если не ошибаюсь это как-то связано с WebSphere.. но что-то смутно понимаю что оно тут делает и как обойтись без него.. да еще как то переделать под досовскую версию..
...
Рейтинг: 0 / 0
Сохранить содержимое памяти в файл
    #33096059
Фотография Землекоп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше всего все такие переменные загнать в одну структуру, которую потом целиком можно сохранять в файл и читать с файла в память обратно. В TC главное, что бы размер структуры не стал больше 64 килобайта при большом количестве переменных.

Код: plaintext
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.
#include <stdio.h>
#include <string.h>
#include <memory.h>


typedef struct
	{
	int i;
	char mas[ 10 ];
	float f;
	}
	MyStruct;

main()
	{
	FILE *f;
	MyStruct my;

	my.i= 10 ;
	strcpy(my.mas, "1234");
	my.f =  5 .;
	
	f = fopen("myfile.data","wb");
	if(f==NULL)
		{
		puts("\nmyfile open error");
		return - 1 ;
		}
	fwrite(&my,sizeof(my), 1 ,f);
	fclose(f);

	f = fopen("myfile.data","rb");
	if(f==NULL)
		{
		puts("\nmyfile open error");
		return - 1 ;
		}
	memset(&my,  0 , sizeof(my));
	fread(&my,sizeof(my), 1 ,f);
	fclose(f);

	printf("%d %s %f", my.i, my.mas, my.f);
	return  0 ;
	}
...
Рейтинг: 0 / 0
Сохранить содержимое памяти в файл
    #33096481
Usel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
..это уже что-то.. спасибо..
я попытаюсь уложиться в 64к.. Дело в том что сохранять нужно не только переменные но и двумерные массивы и структуры..
отсюда еще вопрос.. Может ли структура (MyStruct)
содержать элементом структуру?
...
Рейтинг: 0 / 0
Сохранить содержимое памяти в файл
    #33096509
Карабас Барабас
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
UselМожет ли структура (MyStruct)
содержать элементом структуру?
а то !
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сохранить содержимое памяти в файл
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]