Кафедра АСОИУ ОмГТУ, 2012
Богатов Р.Н.
                                
Кафедра АСОИУ ОмГТУ, 2012
Богатов Р.Н.
                                
Символы в C++
// посмотреть кодировку
for (int i = 0; i < 256; i++)
  printf("%c", i );
printf("Code page #866:\n");
setlocale(LC_ALL, ".866"); // по умолчанию, можно не указывать
for (int i = 128; i < 256; i++)
  printf("%c", i );
printf("\n\nCode page #1251:\n");
setlocale(LC_ALL, ".1251"); // или setlocale(LC_ALL, "Russian")
for (int i = 128; i < 256; i++)
  printf("%c", i );
                                
 char s[] = "Hello";
char s[6];
s[0] = 'H';
s[1] = 'e';
s[2] = 'l';
s[3] = 'l';
s[4] = 'o';
s[5] = 0;
for (int i = 0; i < 5; i++)
  printf("%d", s[i] );
for (int i = 0; i < 5; i++)
  printf("%c", s[i] );
 printf("%s", s );
 printf("What's your name? ");
 char x[20];
 scanf("%s", x);
 printf("Hi, %s!", x);
                                
// строка из двух символов
char a[3]; a[0]='H'; a[1]='i'; a[2]=0;
// строка из одного символа
char b[2]; b[0]='!'; b[1]=0;
// пустая строка (без текста)
char c[1]; c[0]=0;
// строка из двух символов
char a[] = "Hi";
// строка из одного символа
char b[] = "!";
// пустая строка (без текста)
char c[] = "";
// найти длину строки
printf("Введите текст: ");
char t[2000];
scanf("%s", t);
int i = 0;
for(;; i++)
  if (t[i]==0) break;
printf("В тексте %d символов!", i);
// найти длину строки
printf("Введите текст: ");
char t[2000];
scanf("%[^\n]s", t);
int i = 0;
for(;; i++)
  if (t[i]==0) break;
printf("В тексте %d символов!", i);
// найти длину строки
printf("Введите текст: ");
char t[2000];
scanf("%[^\n]s", t);
printf("В тексте %d символов!", strlen(t));
#include  // для продвинутых: создание своей функции
int mystrlen(char s[])
{
  int i = 0;
  for(;; i++)
    if (s[i]==0) break;
  return i;
}
void main()
{
  printf("Введите текст: ");
  char t[2000];
  scanf("%1999[^\n]s", t);
  printf("В тексте %d символов!", mystrlen(t));
}
                                
printf("Введите положительное целое: ");
int n;
scanf("%d", &n);
printf("Шестнадцатеричная запись:\n");
do {
  int x = n % 16;
  n = n / 16;
  char z;
  if( x<10 )
    z = '0' + x;
  else
    z = 'A' + x - 10;
  printf("%c\n", z );
} while (n>0);
char s[8];
int i=0;
do {
  int x = n % 16;
  n = n / 16;
  char z;
  if( x<10 )
    z = '0' + x;
  else
    z = 'A' + x - 10;
  s[i] = z;
  i++;
} while (n>0);
// после цикла i - количество полученных цифр
// переворачиваем содержимое строки
for(int j=0; j{
  char c = s[j];
  s[j]= s[i-j-1];
  s[i-j-1] = c;
}
s[i]=0; // терминируем строку и выводим
printf("%s", s);
                                
printf("Input text: "); // оптимальное решение:
char s[2000];
scanf("%[^\n]s", s);
int count;
// с первой буквой разбираемся отдельно
if ( s[0]>='A' && s[0]<='Z' )
  count = 1;
else
  count = 0;
for(int i=0; i
    count++;
printf("There're %d words that start by a capital letter\n", count);
// заранее добавить перед текстом лишний пробел
printf("Input text: ");
char s[2000] = " ";
scanf("%[^\n]s", s+1);
int count = 0;
for(int i=0; i
    count++;
printf("There're %d words that start by a capital letter\n", count);
                                
printf("Login: ");
char login[200];
scanf("%s", login);
// проверка на наличие подстроки
if( strstr(login, "putin")!=NULL )
{
	printf("Unknown error. Terminating...");
	return;
}
...
#include 
                                
// отсечение расширения с помощью strrchr
char *p;
// поиск первой точки при просмотре справа-налево
p = strrchr(filename, '.');
if( p!=NULL )
  *p = 0; // затираем точку кодом конца строки
#include 
                                
Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:
Email: Нажмите что бы посмотреть