С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

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

Войти
Регистрация
Восстановить пароль
 
 
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
#1

Мусор в строке - C++

06.11.2013, 23:40. Просмотров 922. Ответов 22
Метки нет (Все метки)

Добрый вечер, есть функция которая принимает строку типа char*, когда я передаю этой функции строку вида "C:/SDL/Maps/1.area", вместо этой строки передается какой-то мусор.
В чем может быть дело, подскажите пожалуйста.
Вот функция
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
bool CArea::OnLoad(char* File) {
    MapList.clear();
 
    FILE* FileHandle = fopen(File, "r");
 
    if(FileHandle == NULL) {
        return false;
    }
 
    char TilesetFile[255];
 
    fscanf(FileHandle, "%s\n", TilesetFile);
 
    if((Surf_Tileset = CSurface::OnLoad(TilesetFile)) == false) {
        fclose(FileHandle);
 
        return false;
    }
 
    fscanf(FileHandle, "%d\n", &AreaSize);
 
    for(int X = 0;X < AreaSize;X++) {
        for(int Y = 0;Y < AreaSize;Y++) {
            char MapFile[255];
 
            fscanf(FileHandle, "%s ", MapFile);
 
            SDLMap tempMap;
            if(tempMap.OnLoad(MapFile) == false) {
                fclose(FileHandle);
 
                return false;
            }
 
            tempMap.Surf_Tileset = Surf_Tileset;
 
            MapList.push_back(tempMap);
        }
        fscanf(FileHandle, "\n");
    }
 
    fclose(FileHandle);
 
    return true;
}
Вот место в котором я передаю строку:
C++
1
2
3
if(CArea::AreaControl.OnLoad("C:/SDL/Maps/1.area") == false) {
        return false;
    }
Я просто даже не представляю в чем дело.

Добавлено через 2 часа 3 минуты
Совсем никаких идей нет?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
06.11.2013, 23:40
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Мусор в строке (C++):

Мусор - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define n 10 int main() { int a,b,i,q; scanf(&quot;%i&quot;,&amp;q); for(i=0;i&lt;q;i++) ...

Мусор в массиве - C++
Cчитываю значения из файла с помощью метода класса All в массив xlim void All :: InputLim() { ifstream f; f.open(&quot;2.txt&quot;,...

Мусор в консоли - C++
Ищу подстроку в строке и забиваю её в массив, в итоге в последнем cout выводится не то, что нужно: вместо &quot;ло в бою, очень ло&quot; выводится...

Мусор в файлах - C++
В файлы попадает какой-то мусор, в чём ошибка? #include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;string.h&gt; #include...

Мусор в массиве - C++
Задание: Подсчитать количество ненулевых разрядов в двоичной записи заданного натурального числа. Например в числе 13210 = 100001002 - 2...

Мусор в переменной - C++
Здравствуйте, есть следующий фрагмент кода: void main() { setlocale(LC_ALL,&quot;&quot;); srand(time(NULL)); const int ar = 10; int...

22
gray_fox
07.11.2013, 23:45     Мусор в строке
  #16

Не по теме:

Цитата Сообщение от Kuzia domovenok Посмотреть сообщение
Кто ж знал, что у автора ещё и слеши перевёрнуты
Вообще говоря это у вас они перевёрнуты, у него прямые слэши)

0
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
08.11.2013, 00:10  [ТС] #17
Kuzia domovenok, Даже если я заменю строку, это мне никак не поможет. Вся проблема в том, что у меня портится строка при передачи её в другую функцию, а я даже не знаю по какой причине это происходит.
0
Max Dark
шКодер самоучка
1852 / 1652 / 603
Регистрация: 09.10.2013
Сообщений: 3,678
Записей в блоге: 6
Завершенные тесты: 2
08.11.2013, 01:28 #18
Ошибка в нутри самго файла 1.area
Дело в том что папка называется Tailsets, а пытается читать из папки Tilesets
Мусор в строке
1
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
08.11.2013, 01:42  [ТС] #19
Чувствую себя идиотом = )Но у меня есть оправдание!Вот что выдавал мне дебагер о содержимом переменной, это меня и смутило. Спасибо огромное за помощь.
0
Миниатюры
Мусор в строке  
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
08.11.2013, 01:45  [ТС] #20
Cra3y, Я заметил что вы как-то по интересному получили путь к текущей директории, не могли бы вы рассказать что за функции использовали?
0
Max Dark
шКодер самоучка
1852 / 1652 / 603
Регистрация: 09.10.2013
Сообщений: 3,678
Записей в блоге: 6
Завершенные тесты: 2
08.11.2013, 01:48 #21
Bash
1
2
3
4
5
6
7
8
man getcwd
#include <unistd.h>
 
char *getcwd(char *buf, size_t size);
 
char *getwd(char *buf);
 
char *get_current_dir_name(void);
1
Демик
9 / 9 / 0
Регистрация: 19.04.2012
Сообщений: 114
08.11.2013, 02:01  [ТС] #22
Cra3y, это unix функции? В windows они работать не будут?
0
Max Dark
шКодер самоучка
1852 / 1652 / 603
Регистрация: 09.10.2013
Сообщений: 3,678
Записей в блоге: 6
Завершенные тесты: 2
08.11.2013, 02:08 #23
для Windows смотрите справку по GetCurrentDirectory
1
08.11.2013, 02:08
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.11.2013, 02:08
Привет! Вот еще темы с ответами:

Мусор в массиве - C++
Не могу понять в чем проблема, выводит мусор при компиляции в массивах name, avtor, izdat. Так же крашит при попытке ввода. #include...

Мусор в строках - C++
Привет всем!!! Я пишу помехоустойчивый декодер Витерби. Имеется граф 4x32. struct graf { int rebro0; int rebro1; ...

Мусор и оператор new - C++
Создаю глобальный указатель на структуру, инициализирую некоторые поля после выделения оператором new. Вызываю функцию (callback)...

Непонятный мусор в char - C++
Здравствуйте. Имеется задача, убрать все пробелы перед точками. Пример: Hello my .dear world . -&gt; Hello my.dear world. Всё...


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

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

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