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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Seroga7
 Аватар для Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
#1

Как узнать размер массива? - C++

08.03.2013, 19:31. Просмотров 983. Ответов 5
Метки нет (Все метки)

Нужно узнать размер введенного пользователем массива, но sizeof() почему-то не работает, помогите пожалуйста разобраться!

C++
1
2
3
4
5
6
7
8
9
10
int main(){
char work_str[100];
    int size_of_str;
 
scanf("%s", work_str);
size_of_str = sizeof(work_str)/sizeof(work_str[0]);
cout << "\n" << size_of_str;
}
 
system("pause");
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2013, 19:31     Как узнать размер массива?
Посмотрите здесь:

C++ Как узнать размер двумерного вектора?
Узнать размер массива C++
C++ Узнать размер (количество) массива объектов класса
Как узнать размер папки и её подкаталогов C++
C++ Как узнать размер массива в динамической памяти?
C++ Как узнать размер массива
C++ Как верно узнать размер указателя ?
Как узнать размер открытого файла C++
C++ Как узнать размер массива?
как узнать размер строки? C++
Узнать размер массива строк string C++
Узнать размер динамического массива C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,164
Завершенные тесты: 2
08.03.2013, 19:34     Как узнать размер массива? #2
всмысле количество введённых пользователем элементов?
Croessmah
Модератор
Эксперт CЭксперт С++
 Аватар для Croessmah
12528 / 7090 / 797
Регистрация: 27.09.2012
Сообщений: 17,500
Записей в блоге: 2
Завершенные тесты: 1
08.03.2013, 19:39     Как узнать размер массива? #3
Цитата Сообщение от Seroga7 Посмотреть сообщение
C++
1
size_of_str = sizeof(work_str)/sizeof(work_str[0]);
Кол-во элементов в массиве(всего байт/размер одного элемента)

Если у Вас си-строка (массив char с завершающим нулем), и необходимо найти кол-во символов в ней, то можете воспользоваться функцией
C++
1
size_of_str=strlen(work_str);
TrueBit
 Аватар для TrueBit
95 / 95 / 12
Регистрация: 19.11.2012
Сообщений: 195
08.03.2013, 19:42     Как узнать размер массива? #4
Что делает
C++
1
system("pause");
за пределами функции main ?
Вот код для размышления:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
using namespace std;
 
int main() {
    int size_of_str;
    char work_str[100];
    scanf("%s", work_str);
 
    printf("full size = %d\n",sizeof(work_str)/sizeof(char));
    printf("user size = %d\n",strlen(work_str));
    getchar();
    getchar();
}
Seroga7
 Аватар для Seroga7
6 / 6 / 1
Регистрация: 08.12.2012
Сообщений: 147
08.03.2013, 19:42  [ТС]     Как узнать размер массива? #5
Спасибо, я вижу что жестко протупил...
OhMyGodSoLong
08.03.2013, 19:59     Как узнать размер массива?
  #6

Не по теме:

Более дуракоустойчивая версия с защитой от передачи простых указателей.

C
1
2
3
#define ARRAY_SIZE(array)                             \
  ((sizeof(array) / sizeof(array[0])) /               \
   ((size_t) (!(sizeof(array) % sizeof(0[array])))))

Yandex
Объявления
08.03.2013, 19:59     Как узнать размер массива?
Ответ Создать тему
Опции темы

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