Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сохранить содержимое памяти в файл / 6 сообщений из 6, страница 1 из 1
01.06.2005, 20:17
    #33095979
Usel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержимое памяти в файл
Подскажите есть в си подобная команда? Задача сохранить в файл значения всех переменных (перебирать долго их очень много) и потом загрузить их оттуда.
Либо посоветуйте как это можно сделать..
заранее спасибо..
p/s/ Желательно чтобы оно работало для старого TC 3.0
...
Рейтинг: 0 / 0
01.06.2005, 20:37
    #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
01.06.2005, 21:16
    #33096033
Usel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержимое памяти в файл
Можно подробнее немного..

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

Если не ошибаюсь это как-то связано с WebSphere.. но что-то смутно понимаю что оно тут делает и как обойтись без него.. да еще как то переделать под досовскую версию..
...
Рейтинг: 0 / 0
01.06.2005, 21:47
    #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
02.06.2005, 09:49
    #33096481
Usel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержимое памяти в файл
..это уже что-то.. спасибо..
я попытаюсь уложиться в 64к.. Дело в том что сохранять нужно не только переменные но и двумерные массивы и структуры..
отсюда еще вопрос.. Может ли структура (MyStruct)
содержать элементом структуру?
...
Рейтинг: 0 / 0
02.06.2005, 10:05
    #33096509
Карабас Барабас
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Сохранить содержимое памяти в файл
UselМожет ли структура (MyStruct)
содержать элементом структуру?
а то !
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Сохранить содержимое памяти в файл / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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