Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2010, 00:52   #1
Shtourm
 
Регистрация: 01.05.2010
Сообщений: 9
По умолчанию VC+2008. Проблема с fclose

Читаю список файлов из файла "ListFiles.txt", однако ни один не открывается (fclose выдает ошибку). И еще как отключить (в программе) Disabled у кнопки, и включить снова? Могу отослать пример Visual Studio 2008 (C++) на почту.

Последний раз редактировалось Shtourm; 01.05.2010 в 02:28.
Shtourm вне форума Ответить с цитированием
Старый 01.05.2010, 01:09   #2
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

Button->Disable = true; // Включить
Button->Disable = false; // Выключить
coNsept вне форума Ответить с цитированием
Старый 01.05.2010, 02:17   #3
Shtourm
 
Регистрация: 01.05.2010
Сообщений: 9
Плохо

Цитата:
Сообщение от coNsept Посмотреть сообщение
Button->Disable = true; // Включить
Button->Disable = false; // Выключить
m_check->Disabled = FALSE; => fatal error - is not a member of 'CButton'

Последний раз редактировалось Shtourm; 01.05.2010 в 02:28.
Shtourm вне форума Ответить с цитированием
Старый 01.05.2010, 02:29   #4
coNsept
Форумчанин
 
Аватар для coNsept
 
Регистрация: 14.12.2009
Сообщений: 716
По умолчанию

m_chek это что ?
- форму вырубай
coNsept вне форума Ответить с цитированием
Старый 01.05.2010, 11:08   #5
Shtourm
 
Регистрация: 01.05.2010
Сообщений: 9
Вопрос

Цитата:
Сообщение от coNsept Посмотреть сообщение
m_chek это что ?
- форму вырубай
m_check - это идентификатор кнопки (переключателя с галочкой) с типом CButton.
Вырубать где ? И зачем ?
Shtourm вне форума Ответить с цитированием
Старый 01.05.2010, 18:30   #6
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Shtourm Посмотреть сообщение
Читаю список файлов из файла "ListFiles.txt", однако ни один не открывается (fclose выдает ошибку). И еще как отключить (в программе) Disabled у кнопки, и включить снова? Могу отослать пример Visual Studio 2008 (C++) на почту.
Возможно проблема в том, что fclose закрывает файл, а не открывает его? ))
По поводу выключения кнопки, копайте в сторону EnableWindow
netrino вне форума Ответить с цитированием
Старый 01.05.2010, 18:59   #7
confucius
Пользователь
 
Аватар для confucius
 
Регистрация: 01.05.2010
Сообщений: 15
По умолчанию

Цитата:
Сообщение от Shtourm Посмотреть сообщение
Читаю список файлов из файла "ListFiles.txt", однако ни один не открывается (fclose выдает ошибку). И еще как отключить (в программе) Disabled у кнопки, и включить снова? Могу отослать пример Visual Studio 2008 (C++) на почту.
Код:
m_check.EnableWindow(FALSE); // выключить
m_check.EnableWindow(TRUE); // включить
по поводу fclose уже написали, и кстати желательно показать код и сообщить какая именно ошибка, а то моя гадалка в отпуске а на картах таро мы еще в прошлом году сыграли в покер.
confucius вне форума Ответить с цитированием
Старый 02.05.2010, 00:14   #8
Shtourm
 
Регистрация: 01.05.2010
Сообщений: 9
Вопрос

confucius, спасибо.
Часть кода:
Цитата:
POSITION pos001 = m_List.GetFirstSelectedItemPosition ();

if (pos001 != NULL)
{// Если выделена хоть одна позиция в списке
// CReadListDlg::SaveListFoldersAndFil es();// Забил пути вручную
CReadListDlg::OpenFile();
}

//................................... ...
//................................... ...

BOOL bNextRF = TRUE;
char strMassPath[1000];

FILE *streamFullFoldersAndFiles;// Файл со списком читаемых файлов (проверено, путь полный и правильный)
streamFullFoldersAndFiles = fopen( "C://Temp//FullFoldersAndFiles.txt", "rb" );
while(bNextRF)
{

if(fgets( strMassPath, 1000, streamFullFoldersAndFiles ) != NULL)
{// Если строка существует
FILE *streamToFile;// Текстовой файл
streamToFile = fopen( strMassPath, "rb" );
// После этой строчки возникает ошибка чтения файла
char cNewBait = 0;//getc( streamToFile );
fclose( streamToFile );
// TEST!!!TEST!!!TEST!!!TEST!!!TEST!!! TEST!!!TEST!!!TEST!!!TEST!!!TEST!!! TEST!!!TEST!!!TEST!!!
FILE *fTest000;// Тестовый файл
fTest000 = fopen( "C://Temp//Test000.txt", "ab" );// Можно удалить
char cTeststr[1000];// Прочитал strMassPath в fTest000, путь пишется исправно
char buf[20];
cTeststr[0] = cNewBait;
cTeststr[1] = 0;
int iLen = strlen(cTeststr);
fwrite( cTeststr, sizeof( char ), iLen, fTest000 );// Можно удалить
fclose( fTest000 );
// TEST!!!TEST!!!TEST!!!TEST!!!TEST!!! TEST!!!TEST!!!TEST!!!TEST!!!TEST!!! TEST!!!TEST!!!TEST!!!
}
else
{
bNextRF = FALSE;
}
}
fclose( streamFullFoldersAndFiles );
Цитата:
Result:
Debug Assertion Failed!
...
File:f:\dd\vctools\crt_bld\self_x86 \crt\src\fgetc.c
Line:68
Expressionstream != NULL)
For information - read help document
Ничего не приходит в голову. Неправильно оформил функцию ? А как надо ? Переменные ? Неправильный цикл ? fgets неработает ? Есть примеры ? Могу отослать пример Visual Studio 2008 (C++) на почту.
Shtourm вне форума Ответить с цитированием
Старый 02.05.2010, 00:23   #9
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
"C://Temp//FullFoldersAndFiles.txt"
"C:/Temp/FullFoldersAndFiles.txt"
или
"C:\\Temp\\FullFoldersAndFiles. txt"

И как выглядит этот файл? Вы проверяли строку strMassPath перед открытием? Уверены ли вы, что все файлы из этого списка существуют?

Последний раз редактировалось netrino; 02.05.2010 в 00:30.
netrino вне форума Ответить с цитированием
Старый 02.05.2010, 00:50   #10
Shtourm
 
Регистрация: 01.05.2010
Сообщений: 9
Вопрос

Цитата:
Сообщение от netrino Посмотреть сообщение
"C:/Temp/FullFoldersAndFiles.txt"
или
"C:\\Temp\\FullFoldersAndFiles. txt"

И как выглядит этот файл? Вы проверяли строку strMassPath перед открытием? Уверены ли вы, что все файлы из этого списка существуют?
В strMassPath строчка заносится функцией fgets(), проверял с помощью Test000.txt. В FullFoldersAndFiles.txt пути пишутся в виде "C://Temp//A000.txt", причем файл A000.txt заполнен строчкой в тридцать байт, в списке три файла, все существуют

У всех такая же проблема ? И ничего нельзя сделать ?

Последний раз редактировалось Stilet; 03.05.2010 в 08:43.
Shtourm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с Visual Studio 2008 и .NET framework 3.5 firefox0013 Общие вопросы .NET 9 22.03.2010 18:55
Vusual Studio 2008: Проблема в дизайнере оконных приложений, C# Arnezami Общие вопросы .NET 5 28.02.2010 17:18
MS SQL Server 2008 и Visual Studio 2008 C# (Как работать с БД?) cherw9!40k Базы данных (ADO.NET, LinqToSql, ORM Entity Framework, NHibernate) 2 14.01.2010 20:51
Проблема с windows visual styles в Visual studio 2008 express. [awa Visual C++ 2 09.01.2010 06:05
Visual Studio 2008. Проблема с асм вставкой в код на С++ LexiusUA Visual C++ 22 25.03.2009 03:31