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

Перевод символов - C++

Восстановить пароль Регистрация
 
alelol
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 3
23.11.2011, 21:42     Перевод символов #1
доброго времени суток. нужна помощь. как в строке перевести заглавные буквы латинского алфавита в код ascii? (например aBc -> a66c)
заранее спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
23.11.2011, 21:42     Перевод символов
Посмотрите здесь:

Перевод всех вводимых символов в 8 и 16-ричный код C++
C++ Перевод символов в код таблицы ascii
Перевод прописных символов введенной строки в строчные и строчных в прописные C++
Разработать функцию, которая меняет слова, содержащие заданную комбинацию символов, на соответствующее количество символов # C++
C++ Дан набор символов, среди которых есть двоеточие ‘:’. Определить, сколько символов ему предшествует
Найти сочетание символов после другого сочетания символов C++
C++ Перевод символов в верхний/нижний регистры
C++ Перевод в двоичную систему посредством массива символов
Подсчет символов UTF-8. Считывание пробельных символов C++
C++ Перевод массива символов в массив байтов
C++ Работа с указателями: как реализовать перевод строки после ввода определённого количества символов?

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
KeyGen
 Аватар для KeyGen
334 / 290 / 6
Регистрация: 07.08.2011
Сообщений: 789
Записей в блоге: 1
23.11.2011, 22:05     Перевод символов #2
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
#include <iostream>
 
using std::cout;
 
int main()
{
    setlocale (LC_ALL, "rus");
    
    char mas[80];
    
    cout << "Ââåäèòå ñëîâî (ГЎГіГЄГўГ»): ";
    std::cin.get(mas,80);
    
    cout << "Âû ââåëè: " ;
    
    
    for(int i= 0; mas[i]!='\0'; i++){
    if(mas[i]>64&&mas[i]<91)
    {cout << int(mas[i]); continue;}
    cout << mas[i];
    }
    
    cout << std::endl;
    system("pause");
    return 0;
}
Миниатюры
Перевод символов  
Thinker
Эксперт C++
 Аватар для Thinker
4216 / 2190 / 150
Регистрация: 26.08.2011
Сообщений: 3,802
Записей в блоге: 5
23.11.2011, 22:11     Перевод символов #3
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include<stdio.h>
#include<ctype.h>
 
int main()
{
    char s[1024];
    int i;
    fgets(s, 1024, stdin);
    for (i = 0; s[i]; i++)
        if (isupper(s[i]))
            printf("%d", s[i]);
        else putchar(s[i]);
    return 0;
}
xAtom
 Аватар для xAtom
910 / 735 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
23.11.2011, 22:17     Перевод символов #4
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
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
void str_ascii(char* str) {
   unsigned len;
   char  buf[4] = {'\0'};
   while(*str) {
      if(isupper(*str)) {
            sprintf(buf, "%d", (int)*str);
            len = strlen(buf) - 1u;
            memmove(str + len, str, strlen(str) + len);
            strncpy(str, buf, strlen(buf));
       }
       *str++;
   }
}
 
int main(void)
{
   char str[32] = "A-B,C,D E Fox(aBc).";
   str_ascii(str);
   puts(str);
   getchar();
   return 0;
}
alelol
0 / 0 / 0
Регистрация: 23.11.2011
Сообщений: 3
23.11.2011, 22:29  [ТС]     Перевод символов #5
спасибо!
ForEveR
Модератор
Эксперт С++
 Аватар для ForEveR
7955 / 4717 / 318
Регистрация: 24.06.2010
Сообщений: 10,525
Завершенные тесты: 3
23.11.2011, 23:09     Перевод символов #6
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
40
41
42
43
44
45
46
47
48
#include <boost/iostreams/concepts.hpp>
#include <boost/iostreams/filtering_stream.hpp>
#include <boost/lexical_cast.hpp>
 
namespace io = boost::iostreams;
 
class asciifilter : public io::output_filter
{
public:
   asciifilter(bool upper, bool lower):upper_(upper), lower_(lower)
   {
   }
   template<typename Sink>
   bool put(Sink& snk, char c)
   {
      bool need_convert = ((upper_ && lower_) || (upper_ && isupper(c)) || (lower_ && islower(c)));
      bool ret_value = true;
      if (need_convert)
      {
         std::string str = boost::lexical_cast<std::string>(static_cast<int>(c));
         for (std::string::iterator iter = str.begin(); iter != str.end(); ++iter)
         {
            ret_value = io::put(snk, *iter);
         }
      }
      else
      {
         ret_value = io::put(snk, c);
      }
      return ret_value;
   }
private:
   bool upper_;
   bool lower_;
};
 
int main()
{
   std::string str;
   std::getline(std::cin, str);
   std::ostringstream ss;
   io::filtering_ostream os;
   os.push(asciifilter(true, false));
   os.push(ss);
   os << str;
   os.strict_sync();
   std::cout << ss.str() << std::endl;
}
Yandex
Объявления
23.11.2011, 23:09     Перевод символов
Ответ Создать тему
Опции темы

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