Перевод числа в строку с++

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by ITdocer, 26 Jan 2013.

  1. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    не могу понять в чем ошибка...
    пишу в RAD studio c++ 2010
    #pragma hdrstop
    #include <iostream.h>
    #include <condefs.h>
    #include <string>
    #include <conio.h>
    #include <tchar.h>

    #pragma argsused

    int _tmain(void)
    {
    cout << "Hello!" << endl;
    cout << "Enter number:";
    int a;
    cin >> a;
    string b;
    b = IntToStr(a); //Ошибка
    cout << "Rezult:" << b;
    getch();
    return 0;
    }
     
    #1 ITdocer, 26 Jan 2013
    Last edited: 26 Jan 2013
  2. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    для конфертации std::ostringsteram/std::istringsteram
    http://www.cplusplus.com/reference/sstream/

    IntToStr() если память не изменияет что то вообще MFCшное.
    есть и другие методы. wsprintf(), RtlIntegerToChar()
     
    #2 Ins3t, 26 Jan 2013
    Last edited: 26 Jan 2013
  3. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    а можете помочь я еще новичок не очень понял как это реализовать?(
     
  4. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Code:
    #include <iostream>
    #include <sstream>
     
    int main()
    {
        int number;
        std::ostringstream oss(std::ostringstream::out);
        std::cin >> number;
        oss << number;
     
        std::cout << oss.str();
     
        return 0;
    }
    
    нужно сделать в tty и иксах общий буффер обмена, ибо это сущий ад перетаскивать кодес в иксы.
     
  5. ITdocer

    ITdocer New Member

    Joined:
    23 Aug 2011
    Messages:
    80
    Likes Received:
    0
    Reputations:
    -5
    строку в число перевело,а вот что бы теперь вывести двухзначное число через пробел?

    #include <iostream>
    #include <sstream>
    int _tmain()
    {
    cout << "Hello!" << endl;
    cout << "Enter number:";
    string number;
    std::eek:stringstream oss(std::eek:stringstream::eek:ut);
    std::cin >> number;
    oss << number;
    //std::cout << "Rezult:" <<oss.str();
    сout << oss[1] << " " << oss[2];
    getch();
    return 0;
    }
     
  6. Ins3t

    Ins3t Харьковчанин

    Joined:
    18 Jul 2009
    Messages:
    939
    Likes Received:
    429
    Reputations:
    139
    Code:
    std::cout << oss.str()[0] << ' ' << oss.str()[1];
    так никуда не годится. учи язык, иначе ничего не поймешь.
     
  7. Kernighan

    Kernighan New Member

    Joined:
    18 Jan 2013
    Messages:
    6
    Likes Received:
    0
    Reputations:
    0
    Желательно конечно и код ошибки посмотреть, компилятор как бы предоставляет такую информацию... Возможно, IntToStr не работает потому что не подключены нужные ей библиотеки, но может быть и в другом причина, хотя код написан правильно.