Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Lawlietb32
14 / 14 / 7
Регистрация: 31.03.2011
Сообщений: 118
1

Заходя в функцию сбрасывается адрес строки

04.12.2011, 16:24. Просмотров 296. Ответов 0
Метки нет (Все метки)

Вообщем проблема в следующем... я получаю имя файла в формате: C:\folder\text.txt Мне необходимо добавить после каждого слеша ещё один такой (C:\\folder\\text.txt) или заменить на противополоный (C:/folder/text.txt) С этим проблем нет, когда все делаю в одной функции, но когда я добавил функцию, которая получает char* и должна возвращать char*, то как только захожу в тело функции моя переменная обнуляется...

C++
1
2
3
4
5
6
7
8
9
10
char *fn=NULL;
char *file=NULL;
...
file = OpenTXT(hWnd);
if (file!=NULL)
{
fn = NormalizeFileName(file);
f = fopen(fn, "r");
Pixels = ReadTXT(f, &rCount);
}
А вот функция:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
char *NormalizeFileName(char *filen)
{
    if (filen!=NULL)
    {
        char buf[255];
        char *filename="";
        int i, k;
        memset(buf, 0, sizeof(buf));
        i=0;
        k=0;
        while (filen[i]!='\0')
        {
            if (filen[i] != '\\')
                buf[k]=filen[i];
            else
            {
                buf[k]='\\';
                buf[++k]='\\';
            }
            k++;
            i++;
        }
        i=0;
        while (buf[i]!='\0')
            filename[i] = buf[i];
        return filename;
    }
    return NULL;
}
В режиме отладки захожу в функцию переменная filen = "C:\tester.txt" После первого шага (указатель на if(filen!=NULL)) Она уже равна ""
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.12.2011, 16:24
Ответы с готовыми решениями:

Получить адрес указателя на функцию
int(*ptr)(int) = &abs; cout << "&abs = " << &ptr << endl; cout << "&ptr =...

Изменить адрес указателя на функцию
void ShowNumber(int number) { printf("number = %d\n", number); } void...

Как передать адрес объекта через функцию
Здравствуйте! Надеюсь я правильно сформулировал вопрос, хотелось бы узнать как...

Передать напрямую текст в функцию, принимающую указатель на адрес
Всем привет) У меня есть ф-ция которая принимает адрес строки. Я хочу передать...

Адрес начала строки
Решал задачу на строки. Никак не выходит. Начал проверять каждый фрагмент...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2011, 16:24

Адрес строки в текстовом файле
Здравствуйте Господа и Дамы. У меня такой вопрос. Есть текстовый файл....

Написать функцию, которая получает в качестве параметров адрес числового массива данных и его размер
Функция выводит массив на экран. Как получить в качестве параметров адрес...

Получить адрес переменной, и сохранить в виде строки
Как получить адреc переменной, и записать этот адрес в другую переменную в виде...


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

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

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