Здравствуйте kirina, Вы писали:
K>Проблемс... K>Мне нужно считывать любой кусок файла, примерно такого содержания: K> K>йцуйцуйцу/123123123123 K>вапывп/564564564564645 K>вапывпы/56756756756333 K> K>При этом буквы я считываю в ComboBox, так: K>
K>Здесь возникает проблема, заключающаяся в том, что выодится одна и та же строка — первая!!! K>Где я наглючила, плиз? K>Irina
Я очень извиняюсь — сам от горшка три вершка, но есть одна мыслишка. При использовании цикла с предусловием
while (*pch == '\n\r'|| *pch == '/') pch++;
не указано само тело цикла. Мне кажется нужно сделать так:
while (*pch == '\n\r'|| *pch == '/')
{
pch++;
len1=strcspn(pch,"\r");
len2=strcspn(pch,"/");
return len2-len1;
}
Прошу простить если написал чушь.
Re[2]: Помогите с файлом!!!
От:
Аноним
Дата:
02.06.02 03:58
Оценка:
Здравствуйте Micle, Вы писали: M>Я очень извиняюсь — сам от горшка три вершка, но есть одна мыслишка. При использовании цикла с предусловием M>while (*pch == '\n\r'|| *pch == '/') pch++; M> не указано само тело цикла. Мне кажется нужно сделать так: M>while (*pch == '\n\r'|| *pch == '/') M> { M> pch++; M> len1=strcspn(pch,"\r"); M> len2=strcspn(pch,"/"); M> return len2-len1; M> } M>Прошу простить если написал чушь.
Нет, это совсем из другой оперы, данный цикл используется для прохода по строке, а len1 и len2 для просчета длины строки от начала до слэша...
kirina
K>Здесь возникает проблема, заключающаяся в том, что выодится одна и та же строка — первая!!! K>Где я наглючила, плиз? K>Irina
'\n\r' — эта строчка действительно вызывает сомнения... Однако если дело не в ней попробуй отладить свою прогу возможно что-то прояснится...
K>Здесь возникает проблема, заключающаяся в том, что выодится одна и та же строка — первая!!! K>Где я наглючила, плиз? K>Irina
P.S. Довольно странный способ считывания из файла...
ИМХО на много удобнее использовать потоки С++(fstream, ifstream,ofstream)
Считывание выглядит примерно так:
ifstream sourcefile;
sourcefile.open("tmp",ios::in|ios::binary);// Можно открывать не двоичный, а текстовый файл
//Именно чтение:char buff[НУЖНАЯ ДЛИННА];
char c;
char filesource[100];
int i=0;
while (!sourcefile.eof())
{
buf[i]=c;
c=sourcefile.get(); // осимвольное считывание здесь ты можешь выбросить не нужные тебе символы. А также можно вставить построчное считывание или сразу в буфер...
i++;
}
sourcefile.close();
Удачи!