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

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

Войти
Регистрация
Восстановить пароль
 
Lawlietb32
14 / 14 / 2
Регистрация: 31.03.2011
Сообщений: 118
#1

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

04.12.2011, 16:24. Просмотров 267. Ответов 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
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Заходя в функцию сбрасывается адрес строки (C++):

Получить адрес указателя на функцию - C++
int(*ptr)(int) = &abs; cout << "&abs = " << &ptr << endl; cout << "&ptr = " << endl; Собственно, вопрос в заголовке. Хотя я...

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

Адрес начала строки - C++
Решал задачу на строки. Никак не выходит. Начал проверять каждый фрагмент отдельно. Объясните мне пожалуйста одну вещь. Я хочу получить...

Адрес строки в текстовом файле - C++
Здравствуйте Господа и Дамы. У меня такой вопрос. Есть текстовый файл. Скачиваю его в оперативку. В каждой строчки есть указание на...

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

Получить адрес переменной, и сохранить в виде строки - C++
Как получить адреc переменной, и записать этот адрес в другую переменную в виде строки std::string?

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.12.2011, 16:24
Привет! Вот еще темы с ответами:

Динамический двумерный массив (получить адрес первого элемента первой строки) - C++
есть двумерный массив ........ // объявление двумерного динамического массива int **matrix=new int* ; for(int count=0; count <...

Описать функцию, что добавляет N символов строки S2 в конец строки S1 - C++
Помогите пожалуйста с выполнением лабораторной работы. Задание: 1. Разработать и реализовать функцию на языке С. 2. Провести ее...

Функция возвращает адрес , как передать этот адрес другой функции ? - C++
const int max = 5; double * fill_array(double, int); void show_array(const double, double *); // как передать этой функции в...

Адрес объекта, адрес указателя. Где что находится? - C++
#include <iostream> void Foo(int* val) { std::cout << val << " " << *val << " " << &val << '\n'; } void Bar(int* &val) ...


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

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

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