Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Общие вопросы > первод числа в символ


Автор: xcf 27.6.2006, 19:59
ПРИВЕТ
как можно перевести число в символ 
(например код символа "а" 97, мне надо что при числе 97 выводилось "а" и записывалачь в строку)
заранее большое спасибо  

Автор: 0x07L 27.6.2006, 20:16
Может быть, поможет sprintf с %с ? 

Автор: nworm 27.6.2006, 20:17
Подробнее. Ничего не понял. Напрашивается ответ типа
Код

if (i==97) printf("a");

 

Автор: xcf 27.6.2006, 20:28

Цитата(0x07L @  27.6.2006,  20:16 Найти цитируемый пост)
Может быть, поможет sprintf с %с ? 

такой вариант не подходит
Код

if (i==97) printf("a");

а так мне придется вбивать все символы...
что нибудь по проще есть, и чтоб все символы переводил автоматом 

Автор: 0x07L 27.6.2006, 20:29
А мне напрашивается ответ
Код

#include <stdio.h>
#include <conio.h>

int CharToString(char symbol, char * buffer, size_t bufferSize)
{
    if (bufferSize < 2) return -1; // во избежание переполнения
    sprintf(buffer, "%c", symbol);
    return 0;
}

int main()
{
    char buffer [2];
    CharToString(97, buffer, 2);
    printf("%s",buffer);
    getch();
}
 

Автор: Rockie 27.6.2006, 20:30
Код
#include <iostream>
#include <conio>

using namespace std;

int main(void)
{  int letter;
   cout<<"enter letter ";
   cin>>letter;
   cout<<(char)letter;
   getch();
   return 0;
}
 

Автор: 0x07L 27.6.2006, 20:32
Извини, я писал это сообщение, еще не видя твоего последнего поста.
Тогда так 
Код

#include <stdio.h>
#include <conio.h>

int CharToString(char symbol, char * buffer, size_t bufferSize)
{
    if (bufferSize < 2) return -1; // во избежание переполнения
    buffer[0] = symbol;
    buffer[1] = 0;
    return 0;
}

int main()
{
    char buffer [2];
    CharToString(97, buffer, 2);
    printf("%s",buffer);
    getch();
}
 

Автор: Mad 27.6.2006, 20:33
xcf
Код

int num=97; // или какой нужно
chat buff[]; //куда писать
int tpos=0; // в какую позицию строки

buff[tpos] = (char)num;

и все smile 

Автор: Rockie 27.6.2006, 20:48
Цитата(Mad @  27.6.2006,  20:33 Найти цитируемый пост)
chat buff[]; //куда писать

не объявится =) всмысле даже с char-ом не объявится.. 

Автор: Mad 27.6.2006, 21:15
Rockie
Цитата(Rockie @  27.6.2006,  19:48 Найти цитируемый пост)
Цитата(Mad @  27.6.2006,  20:33 )    
chat buff[]; //куда писать    

не объявится =) всмысле даже с char-ом не объявится

понятное дело что не обьявиться, это же не полный код smile 

Автор: Xenon 27.6.2006, 21:46
Просто привести int к типу char smile 

Автор: xcf 27.6.2006, 22:04
можно зделать так
Код

chat buff[256]; //в скобках кол-во сиволов
int tpos=0;
buff[tpos] = (char)num;

большое спасибо всем кто принял участие
 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)