?
??О форуме ?RSS? ?Поиск? ?Пользователи? ?Регистрация? ?Профиль? ?Войти и проверить личные сообщения? ?Вход?
Вопросы по C/C++
На страницу Пред.??1, 2
?
??? ???Список форумов web-faq.net ? Программирование Предыдущая тема :: Следующая тема ?
?Добавлено: 06.10.2008 17:27
?
Сообщение
? MrFree

Модератор

Зарегистрирован: 05.05.2006
Сообщения: 1446
Откуда: jid:[email protected]

alvagner
Циклы что ли не проходил?

Как поймать, что файл кончился знаешь?
Как прочесть следующую/произвольную строку знаешь?

А далее как я писал выше.
копипастом, если правильно понял далее следует
i=0;
while(i=0; пока файл не кончится)
{
i++;
// теперь читаем первую строчку
CString kk=0xA;
int k=aa.Find(kk, i);
CString xx=aa.CString::Mid(i, k);
//первый элемент- полученная строка
Mass[i]=xx;
}

суть теперь понятна?

NayZaK


а фиг знает, я не знаю что значит экстерн, и не должна ли функция быыть выше мэйна.

_________________
?Добавлено: 06.10.2008 18:01
?
Сообщение
? NayZaK

Коренной житель

Зарегистрирован: 07.09.2006
Сообщения: 191
Откуда: г. Невельск и г. Благовещенск

MrFree
extern означает, что объект (будь-то функция или переменная) становится глобальным, т.е. виден во всех функциях и файлах проекта. Пробовал ставить функцию выше мэйна - разницы ноль. Если объявить массив зарание, то всё, конечно, будет работать, но суть от этого сильно изменится... Хотя преподу можно и такой вариант подсунуть

_________________
If it's not in the computer, it doesn't exist.
?Добавлено: 13.10.2008 17:48
?
Сообщение
? alvagner

?нтересующийся

Зарегистрирован: 16.10.2007
Сообщения: 30

MrFree

теперь понятна, спасиба! суть именна в том, что я "не проходил" ни как поймать конец файла, ни как прочитать первую/произвольную строчку (но знаю и то и другое), вообще ничего и нигде не проходил... сам до всего доходил, потому и притормаживаю в каких-то моментах... просто не догадался как номер элемента нарастить! спасибо.
?Добавлено: 05.11.2008 1:09
?
Сообщение
? alvagner

?нтересующийся

Зарегистрирован: 16.10.2007
Сообщения: 30

посмотрите, пожалуйста код:
Код:
CFile cf;
cf.Open(adres, CFile::modeReadWrite);

const int razmer=cf.GetLength();
char buf[razmer];
cf.Read(buf, razmer);
m_vv=buf;
UpdateData (FALSE);
cf.Close();


я пытаюсь считать текст из файла, находящегося по адресу adres, т. е. сначала получаю размер файла, а потом этот размер пытаюсь присвоить размеру буфера, в который текст и читается, вот это почему-то не получается- компилятор выдаёт, что переменная razmer не является константой...m_vv- переменная CString, она присвоена EditBox, подскажите, как исправить, чтобы работало? спасибо!
?Добавлено: 05.11.2008 15:00
?
Сообщение
? Foxdar

Решает проблемы

Зарегистрирован: 17.05.2006
Сообщения: 596
Откуда: Молдавия,Кишинь-OFF

Ох, не помню на на Си, но в Делфи надо преобразовать строку в число(или наоборот). edit.box:=StrToInt(buf). Проверь, не воспринимает ли компилятор строку вместо числа

_________________
Как я уже говорил, я не повторяюсь...
?Добавлено: 05.11.2008 15:28
?
Сообщение
? alvagner

?нтересующийся

Зарегистрирован: 16.10.2007
Сообщения: 30

не, нужно именно число! причём, если я в коде пропишу конкретно
const int razmer=100;
то всё компилируется нормально!
мож как по другому мона файл полностью прочитать так, чтобы с ним можно было работать функциями CString?
??? ???Список форумов web-faq.net ? Программирование

Страница 2 из 2
Часовой пояс: GMT + 7
На страницу Пред.??1, 2

Показать сообщения:

??

Перейти:??
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы
Вы не можете скачивать файлы