| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Центр помощи > [С++] Ошибки кернель и нт длл библиотек |
| Автор: ДобренькийПапаша 30.1.2006, 14:13 | ||
| Я сделал файл по адресу С:\MyName.txt, где содержится строка (без пробелов) -MyNameIlyaMyLastNameFofanov, прога должна найти слово, которое я ввожу и вывести его, если оно встречается в этом файле. Вот исходный код:
Loaded 'ntdll.dll', no matching symbolic information found. Loaded 'C:\WINDOWS\system32\kernel32.dll', no matching symbolic information found. The thread 0x9C has exited with code 1 (0x1). The program 'C:\Программы для учёбы\Visual C++\MSDev98\MyProjects\Searching a substring\Debug\Searching a substring.exe' has exited with code 1 (0x1). Эта ошибка у меня возникает в каждой проге. В большинстве случаев обходится подключением препроца <iostream> и команды getchar(); Но это уже достало, объясните в чём причина этих ошибок,пожалуйста, и как их обойти. Связано ли это с компилятором или с ОС? Без понятия. Жду ответов. |
| Автор: Fixin 30.1.2006, 14:23 |
| Ну, на кернел не ругайся. Сюдя по коду, н "1" возвращает в результате оибки открытия входноо файла. И перед выходом из проги нужно закывть поток ввода. |
| Автор: ДобренькийПапаша 30.1.2006, 14:56 |
| Да не всё так просто. Напиши как правильно, в коде моём чёнить измени, я ж говорю эта ошибка во всех моих прогах возникает, она обходится, но в этот раз упрямится как коза. Не получается ничего Переписал, что функция везде нуль возвращает фсё равно не помогает. |
| Автор: BreakPointMAN 30.1.2006, 16:21 | ||
ДобренькийПапаша, во-первых, с какого перепуга у тебя написано такое безобразие:
? Ты, вообще, представляешь себе, что такое директива препроцессора #include, пространства имен, std? Во-вторых, getchar'ы у тебя расположены в таких местах, что им не когда не будет передано управление: после операторов return!.. В-третьих, Fixin правильно говорит, потоки следует закрывать... В-четвертых, а уверен ли ты, что файл "C:\\MyName.txt" действительно существует? Текстовый ли он? А достаточно ли отведено места под буфер, в которую считывается строка? В-пятых, лучше всего проекты, исходники и exe'шники хранить в более "удобоваримых" местах - папках без длинных имен, пробелов и русских букв. |
| Автор: ДобренькийПапаша 30.1.2006, 16:30 |
| Файл существует, памяти выделено достаточно, даже более чем. Итак, спасибо, я подправил прогу, запускается, ошибка в следующем: Я сделал контрольный вывод считываемой строки из файла после while. Выяснилось, что считывается не предложение, мною написанное в файле (вот это предложение : MyNameIlyaMyLastNameFofanov), а считывается квадратик и две русские буквы. В чём проблема? з.ы. Что значит закрой поток и как это сделать (я ж тока учусь, простите, понимаю но приблизительно) |
| Автор: ДобренькийПапаша 30.1.2006, 17:11 | ||
Вот так замысел проги реализуется. Всё работает. А вот с теми потоками чёто не то. А может есть другой способ работать с входными данными из файла, посоветуйте. |
| Автор: Fixin 30.1.2006, 18:01 | ||
|
| Автор: BreakPointMAN 30.1.2006, 18:06 | ||
Fixin, а кто здесь орет? Или ты, может быть, считаешь, что следующий код является образцом для подражания?
|
| Автор: ДобренькийПапаша 30.1.2006, 18:27 |
| БрейкПоинт: Слухай, объясни мне, плиз, почему так нельзя делать? Желательно по-подробней, если не занят. |
| Автор: Fixin 30.1.2006, 18:41 | ||
ну, я лично не знаю. у меня просто студия такого не допукает, и я и не пишу так |
| Автор: ДобренькийПапаша 30.1.2006, 19:41 |
| А какую студию лучше всего поставить? |
| Автор: Fixin 30.1.2006, 19:58 | ||
по потребностям
Не оффтопить! |
| Автор: Exception 30.1.2006, 20:28 | ||
|
| Автор: Fixin 30.1.2006, 20:31 |
| Ты откуда это взял? |
| Автор: ДобренькийПапаша 31.1.2006, 10:18 |
| To Exception: Понимаешь, такого у меня раньше не было, было, но редко. А теперь, с недавнего времени, он выдаёт мне эти ошибки в каждой проге. Даже если "Хеллоу Ворлд", я проверял. Что же мне теперь делать? Мне надоело пользоваться функцией getchar() и std::, а без них проги не пашут. |
| Автор: BreakPointMAN 31.1.2006, 13:04 | ||
Говорю еще раз, почитай про пространства имен... |