22 / 22 / 4
Регистрация: 07.11.2011
Сообщений: 154
1

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

15.11.2011, 13:27. Показов 765. Ответов 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 минут
?????
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.11.2011, 13:27
Ответы с готовыми решениями:

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

Не могу разобраться в чем ошибка
Ребят, посмотрите пожалуйста эту програмку: Не работает 13 строчка, пишет нельзя считывать данные...

Не могу разобраться в чём ошибка
Помогите, пожалуйста, разобраться в чём ошибка procedure TForm1.Button1Click(Sender: TObject);...

В чем ошибка? не могу разобраться
В чем ошибка? не могу разобраться. Вот задание: Три устройства обрабатывают заявки в течении 690...

3
24 / 24 / 0
Регистрация: 08.09.2010
Сообщений: 136
15.11.2011, 13:32 2
Вы бы это, строчечку-то, обнуляли перед считыванием.

Добавлено через 1 минуту
Да и структуру FileSearch обнулить не помешало бы.
И вообще - goto это плохой стиль...
1
22 / 22 / 4
Регистрация: 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//Если всё нормально, то дальше не важно
0
Заблокирован
Автор FAQ
15.11.2011, 14:39 4
Цитата Сообщение от Диман56 Посмотреть сообщение
Итак, если заведомо неправильно ввести путь, то при повторе(и правильном вводе пути) программа все равно пишет Error!Re-enter. Где грабли?
- вот вам код
Поиск файла по шаблону
оператором goto вы вообще в зацикливание уйти можите...
0
15.11.2011, 14:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.11.2011, 14:39
Помогаю со студенческими работами здесь

Не могу разобраться в чем ошибка
import math family = input('Здравствуйте, как вас зовут? ') print(family + ', мы рады представить...

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

Не могу разобраться, в чём ошибка в движке
Добрый день, уважаемые кодеры! Вопрос вот в чём, есть сайт, движок самопис, после переноса на...

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


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru