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

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

Войти
Регистрация
Восстановить пароль
 
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
#1

При выполнении условия не выходит из цикла - C++

31.10.2013, 23:36. Просмотров 334. Ответов 4
Метки нет (Все метки)

При выполнении условия не выходит из цикла а продолжается и выходит за границы
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
#include <iostream>
#include <conio.h>
#include <windows.h>
 
using namespace std;
 
void main()
{
    char choice;
    char temp[128];
    const DWORD dwBuferLenght = 128;
    TCHAR tcCurrentDir[128]= { NULL };
 
    if(!GetCurrentDirectory(dwBuferLenght,tcCurrentDir)) cout<<"Error";
    
    CharToOem(tcCurrentDir,temp);
    cout<<temp<<endl;
    cin>>choice;
 
    if(choice == 'u')
    {
        int i = dwBuferLenght;
 
        while(temp[i] != '/')
        {
            temp[i] = NULL;
            i--;
        }
        cout<<temp;
    }
    
    getch();
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 23:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос При выполнении условия не выходит из цикла (C++):

При выполнении программы выходит ошибка - C++
Когда выполняется программа выходит ошибка: Необработанное исключение по адресу 0x77A8205E (msvcr120d.dll) в Тест графиков.exe: 0xC0000005:...

При выполнении условия завершать цикл - C++
Доброго времени суток.подскажите как сделать,чтобы при выполнении условия цикл сразу завершался. for(k=0;k&lt;100;k++){ if(ph%i==0) ...

Не выводится правильный ответ при выполнении условия - C++
Привет. Пользуюсь Visual C++ 6.0 В задачке необходимо в случае не выполнения условия вывести соответсвующее сообщение, а оно выводиться...

++i и i++ разница при выполнении цикла - C++
Доброго времени суток! Действительно ли в цикле вида: for(int i = 0; i &lt; n; ++i) {} ++i Будет быстрее чем i++?

Переписать значения второго массива в первый при выполнении заданного условия - C++
Необходимо написать программу, в которой переписываются значения с второго массива в первый, в том случае если елемент второго массива...

Программа, переносящая элементы первого массива во второй, при выполнении условия - C++
Программа должна формировать массив y из элементов массива x при выполнении некоторого условия, а так же выводить полученный массив y....

4
mytilus
83 / 83 / 9
Регистрация: 04.10.2012
Сообщений: 335
31.10.2013, 23:44 #2
Возможно, надо искать (temp[i] != '\\'), а не (temp[i] != '/').
1
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
31.10.2013, 23:49  [ТС] #3
Точно, находит, выводит, но в конце пишет что стек вокруг temp переполнен
0
mytilus
83 / 83 / 9
Регистрация: 04.10.2012
Сообщений: 335
31.10.2013, 23:54 #4
Потому что вы обращаетесь к temp[128], а последний элемент массива - temp[127].
Замените 15-ю строку на:
C++
1
2
dwBuferLenght = GetCurrentDirectory(dwBuferLenght,tcCurrentDir);
if(!dwBuferLenght) cout<<"Error";
Добавлено через 1 минуту
Ах да! Еще константу dwBuferLenght надо переделать в переменную.
1
vozup
5 / 5 / 0
Регистрация: 25.12.2011
Сообщений: 100
31.10.2013, 23:57  [ТС] #5
Просто нет слов. Аж стыдно что такие элементарные вопросы спрашиваю. Большое спасибо!
0
31.10.2013, 23:57
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 23:57
Привет! Вот еще темы с ответами:

Не выходит из цикла при использовании append - C++
for (i = 1; i &lt; n; i++) { P.append(P, i, 1); } for (i; i != 1; i--) { S.append(P, i, 1); }При выходе из циклов...

При выполнении определенного условия поменять порядок следования символов строки на противоположный - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Если второе слово первой строки такое же, как второе слово второй строки, то...

Не срабатывает ввод строки при первом выполнении цикла - C++
Всем добрый день. Учусь работать с файлами. Суть программки в том, что я ввожу в консоль строку, которая потом помещается в текстовый файл,...

Как сделать, что бы point1 сохранил при первом выполнении условия текущий индекс? - C++
Здравствуйте. Как сделать, что бы point1 сохранил при первом выполнении условия текущий индекс, а потом больше не менял значение,...


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

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

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