1. Набираем команду codeby webinar. Набираем команду для организации и проведения вебинаров. Подробнее ...

    Скрыть объявление
  2. Требуются разработчики и тестеры для проекта codebyOS. Требования для участия в проекте: Знание принципов работы ОС на базе Linux; Знание Bash; Крайне желательное знание CPP, Python, Lua; Навыки системного администрирования. Подробнее ...

    Скрыть объявление
  3. Получи 30.000 рублей. Для получения денег необходимо принять участие в конкурсе авторов codeby. С условиями и призами можно ознакомиться на этой странице ...

    Внимание! Регистрация авторов на конкурс закрыта.

    Скрыть объявление

Char*. как определить размер строки.

Тема в разделе "С и С++", создана пользователем mibin, 29 мар 2015.

  1. mibin

    mibin Well-Known Member

    Репутация:
    0
    Регистрация:
    29 янв 2009
    Сообщения:
    48
    Симпатии:
    0
    Добрый день!
    Вопрос вроде бы на первый взгляд простой, но ответ на него найти не получается.
    Как определить разме строки?

    Результат ниже приведенного кода:
    Код:
    [MAIN] Size of string = 4
    [PROC] Size of string = 4
    Код:
    #include <stdio.h>
    #include <iostream.h>
     
    void proc(char* ch) {
    	cout << "[PROC] Size of string = " << sizeof(ch) << endl;
    }
     
    void main() {
    	char* ch = "Hello my dear world!";
     
    	cout << "[MAIN] Size of string = " << sizeof(ch) << endl;
    	proc(ch);
    }
     
  2. rrrFer

    rrrFer Гость

    Репутация:
    0
    Подключи модуль обработки Си-строк (char*) и вызови функцию strlen:
    Код:
    #include <string.h>
    // ...
    char *str;
    // ...
    cout << strlen(str); 
    size, который вы пытались вызывать - это не функция, а макрос, который возвращает количество байт, занимаемое типом данных. Т.е. в данном случае видно, что элементы типа данных char* занимают на вашем компьютере 4 байта.

    Тип данных char* - это указатель, который является целым неотрицательным числом. Именно поэтому там 4 байта.
    Код:
    size(char)
    вернет единицу, т.к. один символ всегда занимает один байт
     
Загрузка...

Поделиться этой страницей