Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/8: Рейтинг темы: голосов - 8, средняя оценка - 5.00
frostfox
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 5
1

long long r char[] __int64

15.03.2013, 15:29. Просмотров 1468. Ответов 6
Метки нет (Все метки)

Добрый день возник следующий вопрос: мне требуется преобразовать тип long long в char, при этом код должен быть переносимым (т.е. мне надо чтобы программа заработала и под Visual Studio и на UNIX с gcc компилятором). Какими функциями можно воспользоваться? Если sprintf то какой спецификатор универсален для различных компиляторов?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.03.2013, 15:29
Ответы с готовыми решениями:

Требуется написать функцию long long pow(long long a, unsigned int p), которая возводит число a в степень p
Требуется написать функцию long long pow(long long a, unsigned int p), которая...

Как char[] перевести в битовую маску long long(64 бита) и наоборот?
Как char перевести в битовую маску long long(64 бита) и наоборот?

Как преобразовать const char * в long в С++, 0xE0E040BF в long
Помогите пожалуйста преобразовать текст в число на C++ const char *...

Перевести long long unsigned int в массив char
Подскажите, пожалуйста, как превратить число типа long long unsigned int в...

Преобразование массива char в массив long long
Имеется большой массив char, в котором содержатся числа. Нужно максимально...

6
Evg
Эксперт CАвтор FAQ
19306 / 7161 / 533
Регистрация: 30.03.2009
Сообщений: 20,042
Записей в блоге: 30
15.03.2013, 16:27 2
Если sprintf, то %llx для 16-ричной печати, %lld для десятичной, %llo для 8-ричной
2
frostfox
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 5
15.03.2013, 18:02  [ТС] 3
C++
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
 
int main ()
{
    long long a;
    a = 12;
    char buf [21];
    sprintf (buf, "%lld", a);
    printf ("%s", buf);
    return 0;
};
gcc: предупреждение: неопознанный символ преобразования «l» в формате [-Wformat]|
предупреждение: слишком много аргументов для форматирования [-Wformat-extra-args]|

компилятор не знаком? или что это значит.

и вот еще у меня под Visual Studio build проходит. А вот при запуске: Unhandled exception at 0x5399B478 (msvcr110d.dll) in Project2.exe: 0xC0000005: Access violation writing location 0x0000000C. При чем проблема выскакивает после того как число(ну buf) выведена на экран. Где про это можно почитать? Как с этим бороться? При чем тут какая-то dll вообще?
0
frostfox
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 5
15.03.2013, 18:31  [ТС] 4
Цитата Сообщение от Kastaneda Посмотреть сообщение
а так
то же самое.
0
Kastaneda
Jesus loves me
Эксперт С++
4943 / 3020 / 346
Регистрация: 12.12.2009
Сообщений: 7,622
Записей в блоге: 2
Завершенные тесты: 1
15.03.2013, 18:34 5
Цитата Сообщение от frostfox Посмотреть сообщение
gcc: предупреждение: неопознанный символ преобразования «l» в формате [-Wformat]|
предупреждение: слишком много аргументов для форматирования [-Wformat-extra-args]|
а у меня gcc нормально компилирует.

Добавлено через 38 секунд

Не по теме:

Цитата Сообщение от frostfox Посмотреть сообщение
то же самое.
угу, я свой пост выше исправил, думал никто не успел это заметить:)

0
frostfox
0 / 0 / 0
Регистрация: 13.03.2013
Сообщений: 5
15.03.2013, 18:42  [ТС] 6
Цитата Сообщение от Kastaneda Посмотреть сообщение
а у меня gcc нормально компилирует.
у меня на другой системе тоже все нормально.
я вот просто думаю этот gcc старенький, его отец еще чуть ли не 5 лет зад ставил. может просто стандарт long long им еще не поддерживается?
0
Evg
Эксперт CАвтор FAQ
19306 / 7161 / 533
Регистрация: 30.03.2009
Сообщений: 20,042
Записей в блоге: 30
15.03.2013, 19:18 7
Цитата Сообщение от frostfox Посмотреть сообщение
я вот просто думаю этот gcc старенький, его отец еще чуть ли не 5 лет зад ставил. может просто стандарт long long им еще не поддерживается?
Для этого нужно, чтобы он был ну очень стареньким. Лет 15-20. Версию посмотри (запустить "gcc -v"). Либо у тебя какая-то IDE, в которой включен режим -ansi или что-то типа того. В стандарте Си-89 нету типа long long, хотя по факту он есть почти на всех компиляторах
1
15.03.2013, 19:18
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.03.2013, 19:18

Как преобразовать char[8] к unsigned long long?
Требуется выполнить преобразование char к unsigned long long и обратно

Перевести большой массив char в long long
Здравствуйте. Есть массив char c 3145360828. Надо его в int перевести....

Написать функцию для перевода переменной типа long в символьную строку в шестнадцатиричном представлении ( ltoah( long num, char s[]) ) и тестирующую
Написать функцию для перевода переменной типа long в символьную строку в...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

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