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

Изменить строчные буквы на прописные - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 44, средняя оценка - 4.77
Aleksha92
0 / 0 / 0
Регистрация: 24.09.2010
Сообщений: 6
07.03.2011, 21:11     Изменить строчные буквы на прописные #1
Встал вопрос: как сделать строчные буквы прописными. В Turbo Pascal есть очень удобная операция upcase. Есть ли что-то подобное на Си? Если нет, то как более рационально сделать замену. У меня идея только в том чтобы высчитать из ASCII таблицы разницу между маленькой и большой буквой и потом либо прибавлять либо вычитать. Но разницу нужно высчитать минимум 3 раза (анлийский алфавит, и русский, разбитый на две части). Плюс потом еще проверять на конец первой части русского алфавита и начало второй... Что-то даже страшно... Может есть какое-нибудь простое и красивое решение
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
rangerx
1908 / 1517 / 139
Регистрация: 31.05.2009
Сообщений: 2,876
07.03.2011, 21:17     Изменить строчные буквы на прописные #2
Цитата Сообщение от Aleksha92 Посмотреть сообщение
Может есть какое-нибудь простое и красивое решение
C++
1
2
3
4
5
6
7
8
9
10
11
#include <iostream>
#include <algorithm>
#include <cctype>
#include <string>
 
int main()
{
   std::string s = "string";
   std::transform(s.begin(), s.end(), s.begin(), toupper);
   std::cout << s << '\n'; 
}
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
07.03.2011, 21:26     Изменить строчные буквы на прописные #3
На С
C
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#include <ctype.h>
#include <string.h>
 
int main(){
  char str[BUFSIZ] = "string", *p = str;
  while(*p)
    *p++ = toupper(*p);
  puts(str);
  return 0;
}
morAlex
9 / 9 / 0
Регистрация: 06.01.2011
Сообщений: 73
07.03.2011, 21:27     Изменить строчные буквы на прописные #4
в си есть для этого спец функция
strupr(str);-меняет строчные на прописные
Yandex
Объявления
07.03.2011, 21:27     Изменить строчные буквы на прописные
Ответ Создать тему
Опции темы

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