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

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

Войти
Регистрация
Восстановить пароль
 
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
#1

Работа со строкой. Не могу разобраться, в чём ошибка. - C++

15.11.2011, 13:27. Просмотров 454. Ответов 3
Метки нет (Все метки)

Есть такой код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
HANDLE Search;//Объявляем хендл
WIN32_FIND_DATAA FileSearch;//Создаем структуру типа WIN32_FIND_DATAA
Hand:printf("\nEnter the path:");//Просим ввести путь
getchar();//
gets(di);//Вводим путь
strcat(di, "*");//Создаем маску объединением пути и маски поиска(*-искать всё)
Search=FindFirstFileA(di, &FileSearch);//Приравниваем хендл к хендлу, возвращаемому функцией FindFirstFileA(di, &FileSearch). 1 параметр-путь к директории, 2-адрес структуры WIN32_FIND_DATAA
if(Search==INVALID_HANDLE_VALUE)//Если хендл неверный(функция возвратила INVALID_HANDLE_VALUE), то....
{
printf("\nError!Re-enter\n");//Говорим, что ошибкa
Sleep(500);//Ждем 0.5 секунды
goto Hand;//Переходим к повтору ввода
}
else//Если всё нормально, то дальше не важно
Итак, если заведомо неправильно ввести путь, то при повторе(и правильном вводе пути) программа все равно пишет Error!Re-enter. Где грабли?

Добавлено через 25 минут
?????
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.11.2011, 13:27     Работа со строкой. Не могу разобраться, в чём ошибка.
Посмотрите здесь:

Не могу разобраться в чём ошибка - C++
Массив заполнен с помощью генератора случайных чисел. Разности (1-2,3-4,..,19-20) отсортировать по возрастанию. #include <iostream> ...

Не могу разобраться в чём ошибка(инфиксная и постфиксная запись выражения) - C++
на вход для простоты подаю коротенько выражение меньше 10 символов цифры во входе тоже от 0 до 10 при выводе строки otvet ничег оне...

Не могу разобраться с одной строкой кода (cout.precision) - C++
Всего один маленький вопросик. Что делает вот эта строка cout.precision(3); ???? 1) Вычислить и вывести на экран в виде таблицы...

Не могу понять в чём ошибка - C++
Циклический сдвиг элементов прямоугольной матрицы на n элементов вправо или вниз (в зависимости от введенного режима). Со сдвигом вправо...

База болезней, не могу понять в чём ошибка - C++
Задание такое База болезней: название, симптомы, процедуры, перечень рекомендуемых лекарств с указанием требуемого количества. База...

Ошибка памяти при выполнении - не могу понять в чём дело - C++
Добрый день. Есть следующий код: #include <iostream> using namespace std; class Matrix { private: int* arr_ptr; ...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
DKOI
24 / 24 / 1
Регистрация: 08.09.2010
Сообщений: 136
15.11.2011, 13:32     Работа со строкой. Не могу разобраться, в чём ошибка. #2
Вы бы это, строчечку-то, обнуляли перед считыванием.

Добавлено через 1 минуту
Да и структуру FileSearch обнулить не помешало бы.
И вообще - goto это плохой стиль...
Диман56
22 / 22 / 0
Регистрация: 07.11.2011
Сообщений: 154
15.11.2011, 14:27  [ТС]     Работа со строкой. Не могу разобраться, в чём ошибка. #3
1.Как обнулить? memcpy пробовал-не помогло.
2. А структуру как?

Добавлено через 13 минут
?????

Добавлено через 36 минут
Исправил. Во всем оказался виноват getchar();
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
HANDLE Search;//Объявляем хендл
WIN32_FIND_DATAA FileSearch;//Создаем структуру типа WIN32_FIND_DATAA
getchar();//
Hand:printf("\nEnter the path:");//Просим ввести путь
gets(di);//Вводим путь
strcat(di,"*");//Создаем маску объединением пути и маски поиска(*-искать всё)
Search=FindFirstFileA(di, &FileSearch);//Приравниваем хендл к хендлу, возвращаемому функцией FindFirstFileA(di, &FileSearch). 1 параметр-путь к директории, 2-адрес структуры WIN32_FIND_DATAA
if(Search==INVALID_HANDLE_VALUE)//Если хендл неверный(функция возвратила INVALID_HANDLE_VALUE), то....
{
printf("\nError!Re-enter\n");//Говорим, что ошибкa
Sleep(500);//Ждем 0.5 секунды
ZeroMemory(di,sizeof(di));
goto Hand;//Переходим к повтору ввода
}
else//Если всё нормально, то дальше не важно
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.11.2011, 14:39     Работа со строкой. Не могу разобраться, в чём ошибка.
Еще ссылки по теме:

Найти сумму элементов квадратной матрицы (не могу понять в чём ошибка) - C++
Доброго времени суток уважаемые форумчане. Пожалуйста подскажите в чем проблема, почему не работает? #include <iostream> ...

ошибка в коде,не могу разобраться - C++
Определите структурный тип содержащий след инф-ю: Марка авто, цвет, кол-во, цена. Ввести 5 элем-в данного типа. Подсчитать сумму по...

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

Не могу разобраться где ошибка!error LNK2019: ссылка на неразрешенный внешний символ - C++
#include "stdafx.h" #include "conio.h" #include "stdio.h" #include "stdlib.h" #include "string.h" #include "math.h" #include...

Error: lvalue required as left operand of assignment. Не могу разобраться где ошибка - C++
#include <stdio.h> #include <stdlib.h> int main() { int n, count = 0; for (n = 111; n < 1000; ++n) if (n / 100...

Работа с файлами, не могу понять в чем ошибка - C++
Программа должна копировать из f1 в f2 строки где есть повторение слов... Написал вот, строка которая выдает ошибку выделена...


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

Или воспользуйтесь поиском по форуму:
-=ЮрА=-
Заблокирован
Автор FAQ
15.11.2011, 14:39     Работа со строкой. Не могу разобраться, в чём ошибка. #4
Цитата Сообщение от Диман56 Посмотреть сообщение
Итак, если заведомо неправильно ввести путь, то при повторе(и правильном вводе пути) программа все равно пишет Error!Re-enter. Где грабли?
- вот вам код
Поиск файла по шаблону
оператором goto вы вообще в зацикливание уйти можите...
Yandex
Объявления
15.11.2011, 14:39     Работа со строкой. Не могу разобраться, в чём ошибка.
Ответ Создать тему
Опции темы

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