Здравствуйте 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;
}
Прошу простить если написал чушь.