Re: Помогите с файлом!!!
От: Micle  
Дата: 01.06.02 21:51
Оценка:
Здравствуйте kirina, Вы писали:

K>Проблемс...

K>Мне нужно считывать любой кусок файла, примерно такого содержания:
K>
K>йцуйцуйцу/123123123123
K>вапывп/564564564564645
K>вапывпы/56756756756333
K>

K>При этом буквы я считываю в ComboBox, так:
K>

K>int strwin()
K>{    
K>    int len1=0,len2=0;
K>    len=strcspn(pch,"\r");
K>    pch=pch+len;
K>    while (*pch == '\n\r'|| *pch == '/') pch++;
K>    len1=strcspn(pch,"\r");
K>    len2=strcspn(pch,"/");
K>    return len2-len1;
K>}
K>...
K>    pch=(PSTR)pvfile;
K>    bpch=(PSTR)pvfile;
K>...
K>k=0;
K>    while (*pch!=0){
K>    for (i=0;i<100;i++) buff[i]=0;
K>    i=0;k=strwin();pch=pch+2;
K>    while (i<k-2){
K>        buff[i]=*pch;
K>        pch++;
K>        i++;
K>     }
K>    ComboBox_AddString(hwndT,buff);
K>    }
K>...
K>

K>Затем, выбирается строчка из ComboBox, и должна выйти на экран строка, соответствующая выбору:
K>
K>...
K> case IDC_FAM:
K>    DWORD dw = ComboBox_GetCurSel(hwndCtl);
K>            pch=bpch;
K>    for (i=0;i<100;i++) buff[i]=0;
K>    i=0;
K>    while (i<=(int)dw){
K>        k=strwin();
K>        i++;
K>    }    
K>    i=0;
K>    pch=pch+2;
K>    while (i<k-2){
K>        buff[i]=*pch;
K>        pch++;
K>        i++;
K>            }
K>    SetDlgItemText(hwnd,IDC_RESULTS,buff);
K>...
K>    }
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;
}
Прошу простить если написал чушь.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.