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

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

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

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

08.03.2013, 19:31. Просмотров 1061. Ответов 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++
В задаче нужно для решения узнать размер массива. Если sizeof() возвращает кол-во занятой памяти в байтах, и sizeof(char)=2, то ...

Как узнать размер массива? - C++
Имею функцию template &lt;typename T&gt; int funk(T mas, T element) { //kod }

Как узнать размер массива в динамической памяти? - C++
Добрый вечер еще раз! Напишите пожалуйста как можно узнать истинный размер массива, находящегося в динамической памяти, созданными при...

Узнать размер массива - C++
есть 2 указателя на первый элемент массива и указатель на элемент после последнего можно ли как-то узнать размер этого массива не...

Узнать размер динамического массива - C++
Здравствуйте. Пытаюсь сделать динамический массив и вывести его размерность. Выводится размерность = 4, подскажите пожалуйста где я...

Узнать размер массива строк string - C++
Есть массив строк string. Например, {&quot;asd&quot;, &quot;qwe&quot;, &quot;zxc&quot;} Как узнать его размеры? через .length(), .size(), sizeof(str)/sizeof(str)...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Кудаив
329 / 406 / 24
Регистрация: 27.05.2012
Сообщений: 1,168
Завершенные тесты: 2
08.03.2013, 19:34 #2
всмысле количество введённых пользователем элементов?
Croessmah
Модератор
Эксперт CЭксперт С++
13134 / 7397 / 828
Регистрация: 27.09.2012
Сообщений: 18,231
Записей в блоге: 3
Завершенные тесты: 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
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
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])))))

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2013, 19:59
Привет! Вот еще темы с ответами:

Узнать размер (количество) массива объектов класса - C++
Допустим, у меня есть такой массив объектов: TGameEnemy enemies = { TGameEnemy(), TGameEnemy(), TGameEnemy() }; Мне необходимо...

как узнать размер строки? - C++
есть массив указателей string **str на объекта класс string; как узнать размер строки, записанной, например, в *str?

Как узнать размер папки и её подкаталогов - C++
Всем привет. Возник вопрос: &quot;Как узнать размер папки и её подкаталогов&quot; Перерыв кучу информации я понял, что напрямую узнать...

как узнать размер std::stringstream - C++
в обьект типа stringstream пишем неизвестное число байт. Как узнать сколько байт записалось в поток?


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

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

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