Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Программирование на C / C++


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный платный хостинг на базе Windows 2008

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Чемпионы рейтинга экспертов в этой рассылке

Лысков Игорь Витальевич
Статус: Младший модератор
Рейтинг: 404
∙ повысить рейтинг >>
_Ayl_
Статус: 5-й класс
Рейтинг: 345
∙ повысить рейтинг >>
Micren
Статус: Практикант
Рейтинг: 311
∙ повысить рейтинг >>

∙ / КОМПЬЮТЕРЫ И ПО / Языки программирования / C/C++

Выпуск № 1330 от 12.06.2009, 04:05
Администратор рассылки: Dr_Andrew, Модератор
В рассылке: подписчиков - 627, экспертов - 144
В номере: вопросов - 2, ответов - 4

Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
оценить выпуск >>

Вопрос № 169026: Здравсвуйте эксперты, помогите пожалуйста. Есть число типа int, надо сделать его строкой, как?...


Вопрос № 169054: Уважаемые эксперты, подскажи как записать данные в файл с именем которое задаст пользователь....

Вопрос № 169026:

Здравсвуйте эксперты, помогите пожалуйста.
Есть число типа int, надо сделать его строкой, как?

Отправлен: 06.06.2009, 09:36
Вопрос задал: Tribak, Студент
Всего ответов: 2
Страница вопроса >>


Отвечает Victor Pyrlik, Модератор :
Здравствуйте, Tribak.

В C++Builder есть StrToInt, StrToFloat, IntToStr, FloatToStr и т.д.
в С/С++ вот код
Код:
#include <stdlib.h>
#include <stdio.h>
#include <iostream>

using namespace std;

int main(int argc, char *argv[])
{
int x = 0;
double y = 0;
char s[5] = {0};
char ns[10] = {0};
printf("Введите число: ");
scanf("%s",s);
x = atoi(s); //полдучим только целое число
y = atof(s); // получим дробное даже если на входе целое.
printf("\nx = %i\t y = %f\n",x,y);
sprintf(ns,"%i",x);//заносим в строку число
printf("%s\n",ns);//печать строки-числа
system("PAU SE");
return EXIT_SUCCESS;
}

Россия, Екатеринбург
Тел.: 89043822027
ICQ # 490191733

-----
Жизнь игрушка – пока играешь сам..

Ответ отправил: Victor Pyrlik, Модератор
Ответ отправлен: 06.06.2009, 09:31

Оценка ответа: 5

Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250518 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает Ross, Практикант :
    Здравствуйте, Tribak.

    Использование sprintf в C++ нежелательно, т.к. это функция из C и могут возникнуть проблемы при использовании ее с шаблонами.
    В C++ существует класс stringstream, который работает так же как и другие потоки ввода-вывода, но все операции проводятся со строкой, которую затем можно извлечь:
    Код:
    #include <sstream>
    #include <string>
    using namespace std;

    void main()
    {
    stringstream s;
    s << 42;

    string asString = s.str();
    }

    Также есть классы istringstream (только для ввода), ostringstream(только для вывода) и их unicode аналоги: wstringstream, wistringstream, wostringstream.
    -----
    Good judgement comes from experience, and experience comes from bad judgement.

    Ответ отправил: Ross, Практикант
    Ответ отправлен: 10.06.2009, 00:36

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250723 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Вопрос № 169054:

    Уважаемые эксперты, подскажи как записать данные в файл с именем которое задаст пользователь.

    Отправлен: 06.06.2009, 21:03
    Вопрос задал: Biathlonfan, 1-й класс
    Всего ответов: 2
    Страница вопроса >>


    Отвечает Victor Pyrlik, Модератор :
    Здравствуйте, Biathlonfan.
    1. получить это имя от пользователя
    2. открыть/создать файл с этим именем
    3. записать данные
    4. закрыть файл
    5. сообщить пользователю

    Код:
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>


    #define MAX_PATH 255
    int main(int argc, char *argv[])
    {
    FILE *f = NULL;
    char fname[MAX_PATH] = {0};
    double x = 125.5;
    printf("Введите имя файла: ");
    scanf("%s",fname);
    if(strlen(fname)<=0)
    {
    fprintf(stderr,"Не задан файл");
    return EXIT_FAILURE;
    }
    else
    {
    if((f = fopen(fname,"wt& quot;)) == NULL)
    {
    fprintf(stderr,"Не могу открыть файл: %s",fname);
    return EXIT_FAILURE;
    }
    fwrite(&x,sizeof(double),1,f);
    fclose(f);

    }
    printf("\nДанные записаны!\n");
    system("PAUSE");
    return EXIT_SUCCESS;
    }

    Россия, Екатеринбург
    Тел.: 89043822027
    ICQ # 490191733

    -----
    Жизнь игрушка – пока играешь сам..

    Ответ отправил: Victor Pyrlik, Модератор
    Ответ отправлен: 06.06.2009, 21:45

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250549 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!


    Отвечает Hellknight, 1-й класс :
    Здравствуйте, Biathlonfan!
    Вы должны будете завесте переменную строкового типа, и используя функцию сохранения в файл, указать на эту переменную

    Ответ отправил: Hellknight, 1-й класс
    Ответ отправлен: 07.06.2009, 10:02

    Как сказать этому эксперту "спасибо"?
  • Отправить SMS #thank 250562 на номер 1151 (Россия) | Еще номера >>
  • Отправить WebMoney:
  • Вам помогли? Пожалуйста, поблагодарите эксперта за это!



    Нам очень важно Ваше мнение об этом выпуске рассылки. Вы можете оценить этот выпуск по пятибалльной шкале, пройдя по ссылке:
    оценить выпуск >>

    подать вопрос экспертам этой рассылки >>

    Скажите "спасибо" эксперту, который помог Вам!

    Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
    на короткий номер 1151 (Россия)

    Номер ответа и конкретный текст СМС указан внизу каждого ответа.

    Полный список номеров >>

    * Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
    ** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
    *** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.


    © 2001-2009, Портал RFpro.ru, Россия
    Авторское право: ООО "Мастер-Эксперт Про"
    Автор: Калашников О.А. | Программирование: Гладенюк А.Г.
    Хостинг: Компания "Московский хостер"
    Версия системы: 2009.6.1 RC от 10.06.2009

    В избранное