#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_WORDS 1000
#define MAX_LEN 10000
int FindCharInString(char * src, int pos, char letter)
{
unsigned int i = pos;
{
if(src[i] == letter)
return i;
i = i + 1;
}
return -1;
}
int main(int argc, char ** argv)
{
char pBufferIn[MAX_LEN];
unsigned long ulLenBufferIn = 0;
unsigned long ulCurrentPosInBuffer = 0;
unsigned long ulFindedChar = 0;
char ** pszBufferOut
= (char**)(malloc(MAX_WORDS
* sizeof(char*))); int iWords = 0;
int i = 0;
puts("Ciag znakow > \n");
ulLenBufferIn
= strlen(pBufferIn
);
while(1)
{
ulFindedChar = FindCharInString(pBufferIn, ulCurrentPosInBuffer, '+');
if(ulFindedChar == -1)
{
pszBufferOut
[iWords
] = (char*)(malloc( ulLenBufferIn
- ulCurrentPosInBuffer
+ 1)); memcpy(pszBufferOut
[iWords
], (char*)(pBufferIn
+ulCurrentPosInBuffer
), ulLenBufferIn
- ulCurrentPosInBuffer
); pszBufferOut[iWords][ulLenBufferIn - ulCurrentPosInBuffer] = '\0';
iWords = iWords + 1;
break;
}
pszBufferOut
[iWords
] = (char*)(malloc(ulFindedChar
- ulCurrentPosInBuffer
+ 1)); memcpy(pszBufferOut
[iWords
], (char*)(pBufferIn
+ulCurrentPosInBuffer
), ulFindedChar
- ulCurrentPosInBuffer
); pszBufferOut[iWords][ulFindedChar - ulCurrentPosInBuffer] = '\0';
ulCurrentPosInBuffer = ulFindedChar + 1;
iWords = iWords + 1;
}
while(i < iWords)
{
printf("[%i] = %s\n", i
, pszBufferOut
[i
]);
i = i + 1;
}
i = 0;
while(i < iWords)
{
i = i + 1;
}
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2RlZmluZSBNQVhfV09SRFMgMTAwMAojZGVmaW5lIE1BWF9MRU4gMTAwMDAKCmludCBGaW5kQ2hhckluU3RyaW5nKGNoYXIgKiBzcmMsIGludCBwb3MsIGNoYXIgbGV0dGVyKQp7Cgl1bnNpZ25lZCBpbnQgaSA9IHBvczsgCgl3aGlsZShpIDwgc3RybGVuKHNyYykpCgl7CgkJaWYoc3JjW2ldID09IGxldHRlcikKCQkJcmV0dXJuIGk7CgkJaSA9IGkgKyAxOwoJfQoJcmV0dXJuIC0xOwp9CgppbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKiBhcmd2KQp7CgljaGFyIHBCdWZmZXJJbltNQVhfTEVOXTsKCXVuc2lnbmVkIGxvbmcgdWxMZW5CdWZmZXJJbiA9IDA7Cgl1bnNpZ25lZCBsb25nIHVsQ3VycmVudFBvc0luQnVmZmVyID0gMDsKCXVuc2lnbmVkIGxvbmcgdWxGaW5kZWRDaGFyID0gMDsKCWNoYXIgKiogcHN6QnVmZmVyT3V0ID0gKGNoYXIqKikobWFsbG9jKE1BWF9XT1JEUyAqIHNpemVvZihjaGFyKikpKTsKCWludCBpV29yZHMgPSAwOwoJaW50IGkgPSAwOwoKCXB1dHMoIkNpYWcgem5ha293ID4gXG4iKTsKCXNjYW5mKCIlcyIsIHBCdWZmZXJJbik7CgoJdWxMZW5CdWZmZXJJbiA9IHN0cmxlbihwQnVmZmVySW4pOwoKCXdoaWxlKDEpCQoJewoJCXVsRmluZGVkQ2hhciA9IEZpbmRDaGFySW5TdHJpbmcocEJ1ZmZlckluLCB1bEN1cnJlbnRQb3NJbkJ1ZmZlciwgJysnKTsKCQlpZih1bEZpbmRlZENoYXIgPT0gLTEpCgkJewoJCQlwc3pCdWZmZXJPdXRbaVdvcmRzXSA9IChjaGFyKikobWFsbG9jKCB1bExlbkJ1ZmZlckluIC0gdWxDdXJyZW50UG9zSW5CdWZmZXIgKyAxKSk7CgkJCW1lbWNweShwc3pCdWZmZXJPdXRbaVdvcmRzXSwgKGNoYXIqKShwQnVmZmVySW4rdWxDdXJyZW50UG9zSW5CdWZmZXIpLCB1bExlbkJ1ZmZlckluIC0gdWxDdXJyZW50UG9zSW5CdWZmZXIpOwoJCQlwc3pCdWZmZXJPdXRbaVdvcmRzXVt1bExlbkJ1ZmZlckluIC0gdWxDdXJyZW50UG9zSW5CdWZmZXJdID0gJ1wwJzsKCQkJaVdvcmRzID0gaVdvcmRzICsgMTsKCQkJYnJlYWs7CgkJfQoJCQoJCXBzekJ1ZmZlck91dFtpV29yZHNdID0gKGNoYXIqKShtYWxsb2ModWxGaW5kZWRDaGFyIC0gdWxDdXJyZW50UG9zSW5CdWZmZXIgKyAxKSk7CgkJbWVtY3B5KHBzekJ1ZmZlck91dFtpV29yZHNdLCAoY2hhciopKHBCdWZmZXJJbit1bEN1cnJlbnRQb3NJbkJ1ZmZlciksIHVsRmluZGVkQ2hhciAtIHVsQ3VycmVudFBvc0luQnVmZmVyKTsKCQlwc3pCdWZmZXJPdXRbaVdvcmRzXVt1bEZpbmRlZENoYXIgLSB1bEN1cnJlbnRQb3NJbkJ1ZmZlcl0gPSAnXDAnOwoKCQl1bEN1cnJlbnRQb3NJbkJ1ZmZlciA9IHVsRmluZGVkQ2hhciArIDE7CgkJaVdvcmRzID0gaVdvcmRzICsgMTsKCX0KCgl3aGlsZShpIDwgaVdvcmRzKQoJewoJCXByaW50ZigiWyVpXSA9ICVzXG4iLCBpLCBwc3pCdWZmZXJPdXRbaV0pOwoKCQlpID0gaSArIDE7Cgl9CgoJaSA9IDA7Cgl3aGlsZShpIDwgaVdvcmRzKQoJewoJCWZyZWUocHN6QnVmZmVyT3V0W2ldKTsKCQlpID0gaSArIDE7Cgl9CgkJCglmcmVlKHBzekJ1ZmZlck91dCk7CgoJcmV0dXJuIDA7Cn0=
YSthYithYmMrYWIrYStmc2RmK2hnZmdodmIrMjM0ZHNmYStkQVNER0RTR1NERlNER0RGK2Zhc2RmZGFzZmhkZmdqdmJ4Y3Z6K2RmYXNzZHRyZWhkZmhkYitmc2RmaGpnZm5jdnhjemRzZitmZHNmaGZkaHMrMTI0MzQzNTM0NitmZHNmc2FjeHorNDEzMjZ0NDVkc2ZzZHJmM2ZlK2RmdmFzZis0K2ZzZGFzMzRyZjM=
a+ab+abc+ab+a+fsdf+hgfghvb+234dsfa+dASDGDSGSDFSDGDF+fasdfdasfhdfgjvbxcvz+dfassdtrehdfhdb+fsdfhjgfncvxczdsf+fdsfhfdhs+1243435346+fdsfsacxz+41326t45dsfsdrf3fe+dfvasf+4+fsdas34rf3