|
|
|
| Рассмотрим функции:
///////////////////////////////////////////////////////////////////////////////////////
char* cpy(char* sour,int index,int count)
{
char s[1000];
s[0]=0;
int j=0;
for(int i=0;i<=strlen(sour);i++)
{
if((i>=index)&&(i<index+count)){s[j]=sour[i];j++;}
}
s[j]=0;
return s;
}
///////////////////////////////////////////////////////////////////////////////////////
int findsym(char* s,char ch)
{
int n = strlen(s);
for(int i=0;i<n;i++)
if(s[i]==ch)
return i;
return -1;
}
///////////////////////////////////////////////////////////////////////////////////////
char* getfirstoperator(char* s)
{
char s1[1000];s1[0]=0;
int k=findsym(s,';');
if(k==-1)return "";
char s2[5];itoa(k,s2,10);MessageBoxA(0,s2,s2,0);
strcpy(s1,cpy(s,0,k+1));
return s1;
}
|
по-хорошему, findsym ищет символ в строке и передает его номер, если не нашел то -1, а cpy возвращает кусок строки sour : count символов начиная с символа index
getfirstoperator дает кусок от начала строки до точки с запятой.
а теперь полная фигня: запустите getfirstoperator с параметром "prived;dvk" и он вернет prived;
а если убрать мясо бокс то .... он выдает "hY"
WTF??? | |
|
|