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

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

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

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

20.06.2013, 22:25. Просмотров 275. Ответов 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 больше нигде не используется
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2013, 22:25
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Теряю значение переменной char* (C++):

Теряю значение 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++
Здравствуйте ребята !! Я новичок в этом сайте , и даже новый в c++ . сегодня начал c++ . я знаю PHP , и решил учить c++ . и мне очень...

Как переменной Char присвоить значение целого текста? - C++
Пример текста: "Верьте аль не верьте , а жил на белом свете Федот-Стрелец Удалой молодец......"

Как переменной Char присвоить значение целого текста полученого из файла? - C++
файл input.txt текст "ой мама не горюй" использовать ifstream

Присвоить переменной Char значение третьего байта переменно типа Int - C++
всем привет, на одном собеседовании передо мной поставили следующую задачу, присвоить переменной char ch, значение третьего байта переменно...

Как присвоить значение одного из элементов массива типа char переменной типа int? - C++
С++ начал буквально только что так что буду благодарен за терпение и понимание ) Сразу оговорюсь что уже искал ответ но на эту тему...

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

Присвоить переменной char m значиние переменной int i.. - C++
Как присвоить переменной char m значиние переменной int i таким образом ? int main() { char m; int i = 5; m = i; # ( что бы...

Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С - C++
Массив С действительных чисел имеет 5 строк и 11 столбцов. Присвоить значение наименьшего элемента массива переменной М1, номер строки, где...

Адрес переменной к типу (char*) - C++
Здравствуйте. Для "запоминания" данных переменных можно использовать сериализацию аля: int i = 12; ofstream f("text.txt"); ...

Адрес переменной char не выводится - C++
Здравствия всем, люди добрые подскажите пожалуйста, что я как обычно делаю неправильно. int x = 6; int* ptr_x = &x; cout <<...


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

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

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