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

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

Войти
Регистрация
Восстановить пароль
 
Rom4ik
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 3
#1

Преобразование одиночного символа в строку - C++

14.12.2009, 20:34. Просмотров 775. Ответов 3
Метки нет (Все метки)

Сабж. Как я понимаю, нужно добавить '\0'.
Есть ли какие-нибудь простые и элегантные способы?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.12.2009, 20:34     Преобразование одиночного символа в строку
Посмотрите здесь:

Замена символа на строку. C++
C++ Преобразование символа в ASCII код
C++ Подсчет вхождений символа в строку
C++ Вставка символа в строку
C++ Реализация одиночного наследования
C++ Не возвращается вхождение символа в строку
Создать строку: с начало три символа первой строки, потом эти же три символа в обратном порядке C++
Преобразование цифр в строку C++
Преобразование объекта в строку C++
C++ Первое вхождение символа в строку. С++
Преобразование символа в цифру C++
Перед каждым вхождением заданного символа в строку S вставить строку S0 C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Gravity
558 / 552 / 39
Регистрация: 29.01.2009
Сообщений: 1,274
14.12.2009, 20:56     Преобразование одиночного символа в строку #2
Цитата Сообщение от Rom4ik Посмотреть сообщение
Есть ли какие-нибудь простые и элегантные способы?
В Си - нет, это делается вручную. В Си++ используется объект класса string.
Rom4ik
1 / 1 / 0
Регистрация: 14.12.2009
Сообщений: 3
14.12.2009, 21:23  [ТС]     Преобразование одиночного символа в строку #3
Цитата Сообщение от Gravity Посмотреть сообщение
В Си - нет, это делается вручную. В Си++ используется объект класса string.
Задача стоит такая: в графическом режиме выводить предложение по буквам 3 раза разными шрифтами и цветами, буквы появляются с задержкой.

Мой вариант решения:
1) считывать в цикле каждую букву предложения,
2) конвертить ее в строку,
3) выводить с помощью outtext.

Решилось с помощью sprintf.
C++
1
2
3
buf=str[5]; // в задаче сделаю циклом
sprintf(buff,"%c",buf); // buff - формируемая строка, %с - спецификация, buf - отдельный символ из заранее заданной строки
outtext(buff);
Добавлено через 10 минут
Окончательное решение:
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
28
29
30
31
32
33
34
35
36
37
38
39
#include <graphics.h>
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#include <dos.h>
void main()
{  int gdriver = DETECT, gmode, errorcode;
 
   char buf, buff[2];
   char str[64]="A magic moment I remember: I raised my eyes and you were there.";
 
   initgraph(&gdriver, &gmode, "C:\\BORLANDC\\BGI\\");
   errorcode = graphresult();
 
   if (errorcode != grOk)
   {  printf("Graphics error: %s\n", grapherrormsg(errorcode));
      printf("Press any key to halt:");
      getch();
      exit(1);
   }
 
   randomize();
 
   for (int i=0; i<3; i++)
   { setcolor(random(17));
     settextstyle(random(11), HORIZ_DIR, 1);
 
     for (int j=0; j<64; j++)
      { buf=str[j];
    sprintf(buff,"%c",buf);
    outtext(buff);
    delay(250);
      }
     clearviewport();
   }
 
   getch();
   closegraph();
}
Rififi
2336 / 1051 / 44
Регистрация: 03.05.2009
Сообщений: 2,656
14.12.2009, 23:56     Преобразование одиночного символа в строку #4
Rom4ik,

Сабж. Как я понимаю, нужно добавить '\0'.
Есть ли какие-нибудь простые и элегантные способы?

естессно есть.

char ch = 'A';

char s[2] = {0};
s[0] = ch;
Yandex
Объявления
14.12.2009, 23:56     Преобразование одиночного символа в строку
Ответ Создать тему
Опции темы

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