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

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

Войти
Регистрация
Восстановить пароль
 
gastelo56
0 / 0 / 0
Регистрация: 12.12.2012
Сообщений: 18
#1

Теряю значение переменной char* - C++

20.06.2013, 22:25. Просмотров 274. Ответов 3
Метки нет (Все метки)

Не пойму почему так. В заголовочнике прописано

private:
char *lastfilename;


В одной функции присваиваю ей имя последнего файла в директории, и тут же проверяю, в перемнной все нормально, имя файла
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
  
void testFunc::FilesSize(){
  struct stat file_stats;
    DIR *dirp;
    struct dirent* dent;
 
    dirp=opendir("reg");
    do {
        dent = readdir(dirp);
        if (dent)
        {
            lastfilename = dent->d_name;
            printf("%s",lastfilename);
      }
    }while (dent);
    closedir(dirp);
}
Но пытаюсь вывести в след функции переменную lastfilename. И получаю в консоли забор из |||||||||||||
C++
1
2
3
4
5
6
int testFunc::FindHead(char *hmsg){
    FilesSize();
    printf(filepath);
 
    return 1;
}
как так? переменная lastfilename больше нигде не используется
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 22:25     Теряю значение переменной char*
Посмотрите здесь:

Теряю значение private члена класса - C++
#include "Node.h" template <class _Compare, typename K, typename V> class My_Tree { public: My_Tree(){}; My_Tree(K key, V...

Сравнение char переменной с символом - C++
Здравствуйте, подскажите пожалуйста как сравнить char переменной с символом, так как я пытаюсь сделать не работает, условие выполняется...

проблема с переменной типа char - C++
int count(char a){ int c=0; int words=0; while(a!='\0'){ if(a==' ')++words; } return words; } очень примитивный вопрос... ...

Проверка конца строки и переменной char. - C++
Не когда не приходилась работать со строами. Прошу помощи как определить конец строки?

Как присвоить пустой символ переменной char - C++
Хочу присвоить переменной a,"пустой" символ, чтобы не морочиться и не делать лишних проверок во время вывода cout << a << endl; Пишу ...

Сравнение строки в структуре с переменной типа char - C++
Есть некая функция Х которая возвращает кол-во строк структуры Poezda a, строка a.StNazn в которой равна введеному с клавиатуры c и создает...

Конвертирование константной строковой переменной в указатель на char - C++
Помогите исправить ошибку в коде #include <stdio.h> #include <string.h> #include <math.h> #define PRECISION "%6.2f" // формат...

Определять тип вводимой переменной (char или int) - C++
Вообщем изначально дали задание определять тип вводимой переменной (char или int ). Это я выполнил,затем изменили задание, нужно сделать...

Не могу нормально присвоить одной переменной char другую - C++
Вообщем вот... Компилятор ругается на строки с 64 по 74. (За исключением строк 67 и 71) #include <stdio.h> #include...

Как проверить что в переменной char хранится число? - C++
Т.е. что там использованы только числа от 0 до 9 и нет букв?


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
21.06.2013, 16:34     Теряю значение переменной char* #2
testFunc, у Вас класс ?
Цитата Сообщение от gastelo56 Посмотреть сообщение
C++
1
2
3
4
5
6
int testFunc::FindHead(char *hmsg)
{ 
FilesSize(); 
printf(filepath); 
return 1; 
}
мне кажется или тут нет вывода переменной lastfilename
alsav22
5416 / 4812 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
21.06.2013, 16:45     Теряю значение переменной char* #3
Цитата Сообщение от aLarman Посмотреть сообщение
мне кажется или тут нет вывода переменной lastfilename
При этом вызове:
Цитата Сообщение от aLarman Посмотреть сообщение
FilesSize();
aLarman
642 / 563 / 89
Регистрация: 13.12.2012
Сообщений: 2,109
21.06.2013, 16:52     Теряю значение переменной char* #4
Цитата Сообщение от gastelo56 Посмотреть сообщение
C++
1
lastfilename = dent->d_name;
предположительно по выходу из функции по этому адресу чистится значение поэтому там "забор"
Yandex
Объявления
21.06.2013, 16:52     Теряю значение переменной char*
Ответ Создать тему
Опции темы

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