Функция

Модератор: Модераторы разделов

apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Функция

Сообщение apacho »

Подскажите пожалуйста функцию, которая char переводит в int и наоборот в C++
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Функция

Сообщение BlackStar »

atoi
LightLang Team
Спасибо сказали:
Аватара пользователя
Hvzh
Сообщения: 711
Статус: Gone with Linux
ОС: Linux Mint 18.1

Re: Функция

Сообщение Hvzh »

А обратно - itoa
HP 255 G4 A6-6310 + Linux Mint 18.1 + Windoze7 under VmWare + OS X Mavericks under VmWare
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Функция

Сообщение Voice »

char to int это как? Тип превести или символ "8" преобразовать в цифру 8?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Функция

Сообщение serzh-z »

Voice писал(а):
17.04.2007 16:28
char to int это как? Тип превести или символ "8" преобразовать в цифру 8?
Да, кстати - если нужно один, а не массив, char в int, то можно таких способом преобразовать: (my_char_val - '0').
Спасибо сказали:
apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Re: Функция

Сообщение apacho »

А как записать в фаил строку?
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
Аватара пользователя
BlackStar
Сообщения: 1338
Статус: We are all Kosh
ОС: Fedora 10

Re: Функция

Сообщение BlackStar »

Ну ты блин даешь! По сабжу fputs
LightLang Team
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Функция

Сообщение Zeus »

Я строковыми потоками пользуюсь.
Как-то больше на С++ похоже.
это я про преобразование типов
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Функция

Сообщение serzh-z »

Zeus писал(а):
17.04.2007 18:04
Как-то больше на С++ похоже.
В таком случае рекомендую lexical_cast из Boost.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Функция

Сообщение Zeus »

serzh-z писал(а):
17.04.2007 18:08
В таком случае рекомендую lexical_cast из Boost.

Ну или что-нибудь подобное.
Спасибо сказали:
d_n_k
Сообщения: 636
ОС: Gentoo GNU/Linux

Re: Функция

Сообщение d_n_k »

apacho писал(а):
17.04.2007 16:41
А как записать в фаил строку?

info libc
все сказанное есть имхо...
Спасибо сказали:
apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Re: Функция

Сообщение apacho »

Как объявить функцию itoa
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: Функция

Сообщение dey »

apacho писал(а):
19.04.2007 21:55
Как объявить функцию itoa


Что то типа этого :

Код: Выделить всё

char* itoa( int val)
{
  static const int MAX = 32;
  static char buff[MAX]={0};
  char* res = buff + MAX - 2;
  do {
    *(res--) = '0' + val%10;
    val/=10;
  }while (val > 0);
  return res + 1;
};
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали:
apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Re: Функция

Сообщение apacho »

Я умею ввиду что надо написать в #include-е, а то компилятор ругается
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Функция

Сообщение elide »

люди, вы вообще вопрос читаете?
спрошено же было про "в C++"!

Код: Выделить всё

#include <iostream>
#include <string>
#include <sstream>

int main(){
        // из строки в число
        int i;
        std::stringstream("10") >> i;
        std::cout << i << std::endl;

        // из числа в строку
        std::stringstream ss;
        ss << 155;
        std::string str = ss.str();
        std::cout << str << std::endl;

        return 0;
}
слава роботам!
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: Функция

Сообщение dey »

apacho писал(а):
20.04.2007 15:59
Я умею ввиду что надо написать в #include-е, а то компилятор ругается

ИМХО если не ошибаюсь itoa не входит в стандартный С++ . Поэтому следует использовать самописную функцию
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали:
Аватара пользователя
elide
Бывший модератор
Сообщения: 2421
Статус: Übermensch
ОС: лялих

Re: Функция

Сообщение elide »

dey, а snprintf(buf, len, "%d", value); уже не модно использовать?
слава роботам!
Спасибо сказали:
Аватара пользователя
dey
Сообщения: 335
ОС: OpenSuse 11.1

Re: Функция

Сообщение dey »

elide писал(а):
20.04.2007 16:47
dey, а snprintf(buf, len, "%d", value); уже не модно использовать?

модно , забыл добавить про возможность использования функций форматного вывода
В сознательных действиях должен присутствовать существенный неалгоритмический компонент.
Roger Penrose,The Emperor's New Mind
Спасибо сказали:
apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Re: Функция

Сообщение apacho »

Какой функцией, 2 строки можно объединить в 1.
Например:
char* p="Hello ";
char* l="World";
char* pl=...
Как это сделать?
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Функция

Сообщение Voice »

#include <string.h>

char *strcat(char *s1, const char *s2);

Только вы должны проверять достаточно ли будет буфера s1.

А еще можно использовать sprintf но это помедленее будет.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Re: Функция

Сообщение apacho »

Как закрыть поток stringstream?
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: Функция

Сообщение Uncle_Theodore »

apacho писал(а):
31.10.2007 20:15
Как закрыть поток stringstream?

В каком смысле закрыть? :wacko:
Спасибо сказали:
Аватара пользователя
Skladnoy
Сообщения: 90
ОС: Debian

Re: Функция

Сообщение Skladnoy »

Uncle_Theodore писал(а):
31.10.2007 20:29
В каком смысле закрыть? :wacko:


Полагаю что смысле fclose
apacho
Сам умрет, когда уйдет из области видимости.
Спасибо сказали:
apacho
Сообщения: 110
ОС: MOPSLinux 5.1

Re: Функция

Сообщение apacho »

Я имею ввиду:
#include <iostream>
#include <sstream>
int main()
{
stringstream jen;
jen << 1;
jen << 2;
Не знаю что надо сделать
jen << 1;
jen << 4;
cout << jen.str();
}
Вообщем надо чтобы вывелось 14
Окошки не нужны, нужны ПИНГВИНЫ!!!
Слака рулит!!!!!!
Спасибо сказали:
sergio
Сообщения: 436
Статус: Интересующийся новичок
ОС: Debian GNU/Linux 4 & 5

Re: Функция

Сообщение sergio »

apacho писал(а):
31.10.2007 21:52
Я имею ввиду:
Вообщем надо чтобы вывелось 14

Вариант А:

Код: Выделить всё

#include <iostream>
#include <sstream>
int main()
{
  {
    stringstream jen;
    jen << 1;
    jen << 2;
  }
  // Не знаю что надо сделать
  // Ничего не надо делать.
  {
    stringstream jen;
    jen << 1;
    jen << 4;
    cout << jen.str();
  }
}


Вариант Б:

Код: Выделить всё

    stringstream jen;
    jen << 1;
    jen << 2;
    // ....................
    jen.str(std::string());
    jen << 1;
    jen << 4;
Debian GNU/Linux 4 -- AMD Athlon64 3000+ / Asus 7600GS -- Gnome
Debian GNU/Linux 5 -- Dell (Vostro) 500 (Celeron M560 / iGM965) -- Gnome
Спасибо сказали:
Аватара пользователя
serzh-z
Бывший модератор
Сообщения: 8259
Статус: Маньяк
ОС: Arch, Fedora, Ubuntu

Re: Функция

Сообщение serzh-z »

std::cout << std::flush
Спасибо сказали:
Аватара пользователя
deninok
Сообщения: 585
Статус: Программист С++
ОС: Debian GNU/Linux

Re: Функция

Сообщение deninok »

По-моему, автору темы нужно просто хорошую книгу по С++ почитать...
Спасибо сказали:
elf74
Сообщения: 482
Статус: Линуксоид-Самовар :)
ОС: Mandriva Power Pack 2008.0 LCE

Re: Функция

Сообщение elf74 »

Нашел Ссылки интересные про itoa и прочее:
http://www.devx.com/tips/Tip/30044
http://www.devx.com/tips/Tip/30001
после маленькой рихтовки, мои программы написанные года три назад под вынь-да-полож :) шустро откомпилировались.
Спасибо сказали: