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

преобразование типов - C++

Восстановить пароль Регистрация
 
Askfor
3 / 3 / 2
Регистрация: 07.08.2012
Сообщений: 42
Завершенные тесты: 3
30.04.2013, 17:00     преобразование типов #1
Visual c++ 2008 (win 7 64bit)
консолька

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
char VolumeNameBuffer[100];
char FileSystemNameBuffer[100];
unsigned long VolumeSerialNumber;
SYSTEM_INFO siSysInfo;
 
BOOL GetVolumeInformationFlag = GetVolumeInformationA( "c:\\", VolumeNameBuffer, 100, &VolumeSerialNumber, NULL, NULL, FileSystemNameBuffer, 100 ); 
 
GetSystemInfo(&siSysInfo);
 
char param1[20];
char param2[20];
char all1[20];
 
sprintf(param2, "%d", siSysInfo.dwPageSize);
sprintf(param1, "%d", VolumeSerialNumber);     // в param1 какой то мусор
//если делать так тоже мусор param1 =reinterpret_cast<char* >(VolumeSerialNumber);
 
 
strcpy(all1,param1);
strcat(all1,"---");
strcat(all1,param2); 
 
FILE *file;
char* file_name = "datalog.txt";
file = fopen( file_name, "w" );
fputs( all1  , file );
fclose( file );
Не могу получить данные из VolumeSerialNumber или неправильно преобразую типы или что не так подскажите.
В итоге VolumeSerialNumber и siSysInfo.dwPageSize преобразую в const char для того чтобы напечатать в файл через fputs.
Можете предложить свой вариант решения, по итогу нужна печать в файл указанных параметров.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2013, 17:00     преобразование типов
Посмотрите здесь:

Преобразование типов C++
C++ Преобразование типов
C++ преобразование типов
Преобразование типов. C++
C++ С++ преобразование типов
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.04.2013, 17:09     преобразование типов #2
Askfor, GetVolumeInformationFlag проверили? Должен быть не 0.
Askfor
3 / 3 / 2
Регистрация: 07.08.2012
Сообщений: 42
Завершенные тесты: 3
30.04.2013, 17:12  [ТС]     преобразование типов #3
VolumeSerialNumber тут есть правильные данные - проверил, но в преобразовании мне отдает мусор а не то что есть.

GetVolumeInformationFlag просто кусок остался я не весь код привел, и да отрабатывает 1.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.04.2013, 17:17     преобразование типов #4
Askfor, так может в формате проблема. Попробуйте "%lu"
Askfor
3 / 3 / 2
Регистрация: 07.08.2012
Сообщений: 42
Завершенные тесты: 3
30.04.2013, 17:23  [ТС]     преобразование типов #5
Цитата Сообщение от Tulosba Посмотреть сообщение
Askfor, так может в формате проблема. Попробуйте "%lu"
Помогло ) спасибо.
Линканите где почитать по этим форматам.
Tulosba
:)
Эксперт C++
4377 / 3220 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.04.2013, 17:26     преобразование типов #6
Askfor, http://www.cplusplus.com/reference/cstdio/printf/
Но если уж Вы постите код в разделе С++, то следовало бы использовать stringstream хотя бы.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.04.2013, 17:31     преобразование типов
Еще ссылки по теме:

C++ преобразование типов
C++ Преобразование типов
Преобразование типов C++

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

Или воспользуйтесь поиском по форуму:
Askfor
3 / 3 / 2
Регистрация: 07.08.2012
Сообщений: 42
Завершенные тесты: 3
30.04.2013, 17:31  [ТС]     преобразование типов #7
Цитата Сообщение от Tulosba Посмотреть сообщение
Но если уж Вы постите код в разделе С++, то следовало бы использовать stringstream хотя бы.
тут раздел для начинающих, я не нашел раздела для чайников
Yandex
Объявления
30.04.2013, 17:31     преобразование типов
Ответ Создать тему
Опции темы

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