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

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

Войти
Регистрация
Восстановить пароль
 
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
#1

Лишний мусор в переменной - C++

08.03.2014, 15:21. Просмотров 344. Ответов 4
Метки нет (Все метки)

В кратце:
Функция принимает 2 локальных адреса
C++
1
2
char txtpathL[100]="C:\\55";
char Btxtpath[100]="C:\\temp";
во втором адресе он ищет определенный файл, он его считывает и записывает нужную стоку к адресу в переменной чтобы потом обратиться уже к собранному адресу по частям и выяснить есть ли нужный мне файл.

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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#define J 100
int MProfile_INI(char* LocPath, char* BrowPath) 
{
    int j=0;
    char txtINI[J];
    char txtINIs[J];
    char BrowMozil_BK[J];
    char BrowMozil_BKs[J];
    char LOCMozil_DIM[J];
    char LOCMozil_DIMs[J];
// переменные используются в качестве резерва
strcpy(BrowMozil_BK,BrowPath);
strcpy(LOCMozil_DIM, LocPath);
strcat(BrowPath,"\\profiles.ini");
 
ifstream prifINI(BrowPath);
prifINI.seekg(91);
if(prifINI.rdstate()!=0)    
    return 0;
else
    {
    
while(!prifINI.eof())
{
    j=j+1;
prifINI>>txtINI;
if(j==1)
strcpy(txtINIs,txtINI);
}   
}
    cout<<txtINIs;
 
strcat(BrowMozil_BK,"\\Profiles\\");
strcat(BrowMozil_BK,txtINIs);
strcat(BrowMozil_BKs,BrowMozil_BK);
strcat(BrowMozil_BK,"\\name.sqlite");
strcat(BrowMozil_BKs,"\\name2.sqlite");
strcpy(LOCMozil_DIMs,LOCMozil_DIM);
strcat(LOCMozil_DIM, "\\name.sqlite");
strcat(LOCMozil_DIMs,"\\name2.sqlite");
 
if(CopyFile(BrowMozil_BK,LOCMozil_DIM,0)==0 && CopyFile(BrowMozil_BKs,LOCMozil_DIMs,0)==0)
RemoveDirectory(LocPath);
 
//delete [] txtINI;
//delete [] LOCMozil_DIM;
//delete [] LOCMozil_DIMs;
//delete [] BrowMozil_BK;
//delete [] BrowMozil_BKs;
// ранее писал их как динамический массив но он мне выдавал ошибку : Ошибка компиляции:ОС Windows инициировала точку останова
cout<<"\n\n\n\n\n";
cout<<"txtINI "<<txtINI <<endl;
cout<<"LOCMozil_DIM "<< LOCMozil_DIM<<endl;
cout<<"LOCMozil_DIMs "<<LOCMozil_DIMs <<endl;
cout<<"BrowMozil_BK "<<BrowMozil_BK <<endl;
cout<<"BrowMozil_BKs "<< BrowMozil_BKs<<endl;
return 1;
}
 
...
 
int main()
{
    
    char txtpathL[100]="C:\\55";
    char Btxtpath[100]="C:\\temp";
 
    MProfile_INI(txtpathL,Btxtpath);
 
    getch();
return 0;
}
Все бы ни чего, но не понятно одно, откуда мусор в переменной массива BrowMozil_BKs?
если что-то не понятно, спрашивайте, я объясню
vs2008
0
Миниатюры
Лишний мусор в переменной  
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.03.2014, 15:21
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Лишний мусор в переменной (C++):

Подскажите как сделать, чтобы не выводился лишний мусор? - C++
Подскажите как сделать, чтобы не выводился лишний мусор? #include &quot;stdafx.h&quot; #include &lt;iostream&gt; using namespace std; bool...

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

Почему переменной присваивается произвольное значение("мусор")? - C++
Мой черновой вариант кода. Он очень черновой так что многое не суть важно, но переменной х я присваиваю значение 0. Если после приглашения...

a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b - C++
даны произвольные числа a,b и c.Присвоить максимальное из них переменной a,минимальное-переменной c,среднее переменной b.

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

Мусор - 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++) ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Fene4ka_
91 / 91 / 16
Регистрация: 24.01.2014
Сообщений: 1,215
08.03.2014, 15:50 #2
snyppimylt, пошагово посмотреть самому ?
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
08.03.2014, 15:50 #3
Строка 35:
Цитата Сообщение от snyppimylt Посмотреть сообщение
strcat(BrowMozil_BKs,BrowMozil_BK);
strcat присоединяет к строке, которой ничего ранее не присваивалось.
Надо заменить на strcpy
1
snyppimylt
7 / 7 / 1
Регистрация: 18.12.2011
Сообщений: 400
08.03.2014, 15:59  [ТС] #4
Цитата Сообщение от zss Посмотреть сообщение
Строка 35:
Сообщение от snyppimylt
strcat(BrowMozil_BKs,BrowMozil_BK);
strcat присоединяет к строке, которой ничего ранее не присваивалось.
Надо заменить на strcpy
Спасибо, а можете объяснить почему с динамическим выделением массивов в куче при их чистке вылетает Ошибка компиляции:ОС Windows инициировала точку останова ?
0
zss
Модератор
Эксперт С++
6382 / 5947 / 1927
Регистрация: 18.12.2011
Сообщений: 15,264
Завершенные тесты: 1
08.03.2014, 16:02 #5
Скорее всего вышли за границы массивов.
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.03.2014, 16:02
Привет! Вот еще темы с ответами:

Лишний раз выводит сообщение - C++
Добрый вечер. Уже час бьюсь над следующей проблемой. Почему выводится сообщение: &quot;Oshibka! Poprobuyte snova: Oshibka! Poprobuyte...

Список, выводит лишний нолик - C++
Задание таково: Внести значения, выбрать количество элементов которые должны вывестись на экран с конца списка. Я почти решил но есть...

Лишний вывод перевода строки - C++
Добрый день. Работаю с линейным списком динамических структур. Вот код: //.... class book{ private: string keyword; ...

Лишний символ при компиляции - C++
#include &lt;iostream&gt; #include &lt;fstream&gt; #include &lt;stdio.h&gt; #include &lt;cstring&gt; #include &lt;conio.h&gt; int zamena(char c); using...


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

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

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