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

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

Войти
Регистрация
Восстановить пароль
 
Askfor
18 / 18 / 6
Регистрация: 07.08.2012
Сообщений: 101
Завершенные тесты: 3
#1

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

30.04.2013, 17:00. Просмотров 300. Ответов 6
Метки нет (Все метки)

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.
Можете предложить свой вариант решения, по итогу нужна печать в файл указанных параметров.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Tulosba
:)
Эксперт С++
4390 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.04.2013, 17:09     преобразование типов #2
Askfor, GetVolumeInformationFlag проверили? Должен быть не 0.
Askfor
18 / 18 / 6
Регистрация: 07.08.2012
Сообщений: 101
Завершенные тесты: 3
30.04.2013, 17:12  [ТС]     преобразование типов #3
VolumeSerialNumber тут есть правильные данные - проверил, но в преобразовании мне отдает мусор а не то что есть.

GetVolumeInformationFlag просто кусок остался я не весь код привел, и да отрабатывает 1.
Tulosba
:)
Эксперт С++
4390 / 3233 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
30.04.2013, 17:17     преобразование типов #4
Askfor, так может в формате проблема. Попробуйте "%lu"
Askfor
18 / 18 / 6
Регистрация: 07.08.2012
Сообщений: 101
Завершенные тесты: 3
30.04.2013, 17:23  [ТС]     преобразование типов #5
Цитата Сообщение от Tulosba Посмотреть сообщение
Askfor, так может в формате проблема. Попробуйте "%lu"
Помогло ) спасибо.
Линканите где почитать по этим форматам.
Tulosba
:)
Эксперт С++
4390 / 3233 / 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++
C++ Преобразование типов
C++ Преобразование типов

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

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

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