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

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

31.10.2013, 23:36. Просмотров 355. Ответов 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++):

При выполнении программы выходит ошибка
Когда выполняется программа выходит ошибка: Необработанное исключение по адресу...

При выполнении условия завершать цикл
Доброго времени суток.подскажите как сделать,чтобы при выполнении условия цикл...

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

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

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

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

4
mytilus
83 / 83 / 26
Регистрация: 04.10.2012
Сообщений: 340
31.10.2013, 23:44 #2
Возможно, надо искать (temp[i] != '\\'), а не (temp[i] != '/').
1
vozup
7 / 7 / 2
Регистрация: 25.12.2011
Сообщений: 103
31.10.2013, 23:49  [ТС] #3
Точно, находит, выводит, но в конце пишет что стек вокруг temp переполнен
0
mytilus
83 / 83 / 26
Регистрация: 04.10.2012
Сообщений: 340
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
7 / 7 / 2
Регистрация: 25.12.2011
Сообщений: 103
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
for (i = 1; i &lt; n; i++) { P.append(P, i, 1); } for (i; i != 1; i--)...

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

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

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


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

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

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