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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.86
vvApache
5 / 5 / 0
Регистрация: 08.05.2011
Сообщений: 121
#1

Проверка массива на пустоту - C++

04.07.2012, 10:54. Просмотров 1907. Ответов 2
Метки нет (Все метки)

Здравстуйте! Работаю с деревьями, возникла такая проблема:
есть две структуры:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct file {
public:
    string name;                    //имя
    string path;                    //путь к файлу
    string isLocked;                //NULL-не заблокирован, ""-заблокировавший пользователь 
};
 
struct directory {
public:
    string name;                    //имя
    string path;                    //пусть к папке
    directory* dirs;        //массив вложенных папок
    file* files;           //массив содержащихся файлов
};
создаю, инициализирую
C++
1
2
directory dir;
dir.dirs = new directory[100];
сейчас в
C++
1
dir.dirs[i].name
можно писать.
массив
C++
1
dir.dirs[i].dirs
не инициализирован, но при проверке его
C++
1
if(dir.dirs[i].dirs)
выдает true.
в чем тут может быть проблема?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.07.2012, 10:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Проверка массива на пустоту (C++):

Проверка на пустоту файла С++ - C++
Помогите реализовать проверку на наличие файла и его пустоту. Если файл не открывается, вывести ошибку, если открывается, то проверить есть...

проверка на пустоту строки - C++
подскажите как сделать чтобы проверялось еще одно условие if((ff==' ') || (ff=='')) то есть надо чтобы проверялось заполнена строка или...

Проверка стека на пустоту - C++
Что-то не могу понять как проверить стек на пустоту. Использую класс Stack в VS. В MSDN не нашел соотвествующего метода. Как быть?

Проверка файла на пустоту - C++
void Add_New_User() { FILE *Fptr = fopen("New_User.txt", "r"); if ((Fptr = fopen("New_User.txt", "r")) == 0) { ...

Проверка файла на пустоту - C++
Здравствуйте, нужно сделать проверку на пустоту, если файл пуст то идет одна ветка,если не пуст ,то другая std::fstream...

Проверка папки на пустоту - C++
Так как времени не было на это задание, пришлось сделать так: BOOL IsEmpty(const wchar_t* sPath) { HANDLE hFind; //дескриптор файла...

2
solar_wind
756 / 747 / 42
Регистрация: 06.07.2009
Сообщений: 2,969
Завершенные тесты: 1
04.07.2012, 11:02 #2
Ты в dir.dirs[i].dirs не помещаешь никакого значения, так что там может быть все что угодно. Так валидность указателя можно проверять, только если ты заранее поле структуры инициализируешь нулем.
1
Deviaphan
Делаю внезапно и красиво
Эксперт С++
1305 / 1220 / 50
Регистрация: 22.03.2011
Сообщений: 3,744
04.07.2012, 11:03 #3
Цитата Сообщение от vvApache Посмотреть сообщение
в чем тут может быть проблема?
Добавь конструктор, инициализирущий указатель нулём. Сейчас ты проверяешь мусор.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.07.2012, 11:03
Привет! Вот еще темы с ответами:

Проверка нескольких Edit на пустоту и нули - C++
Доброй ночи всем! На форме размещено несколько полей Edit. При наведении мыши на кнопку происходит проверка Edit'ов на пустоту и нулевые...

Шаблонный класс матрицы. Проверка матрицы на пустоту - C++
Есть задание (приложил картинку - zadanie.png) Вот что уже скодил: massive.h #ifndef MASSIVE_H #define MASSIVE_H #include...

Проверка файла на "пустоту" - C++
ifstream fin; if(fin.?) { cout<<"Файл пуст"<<endl } Какой метод проверят наличие содержимого в файле?

Создайте класс динамического массива, в котором реализована проверка выхода за границы массива - C++
Народ подскажите такую вещь я написал программку для вставки элементов в массив при этом осуществляется проверка границ массива ! ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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