|
|
|
| Нужно что-то похожее на explode в php, только strtok не пашет как надо...
char** resp;
char* buff;
int s = 0;
do
{
buff = strtok(Socket->ReceiveText().c_str(), "\n");
resp[s++] = buff;
} while (buff);
Area->Lines->Add((AnsiString) resp[0]); |
| |
|
|
|
|
|
|
|
для: bronenos
(03.07.2007 в 22:42)
| | Если правильно понял
Вариант1
#include <iostream>
using namespace std;
int main()
{
char input[80];
char current[80];
int i, j;
cout << "Введите строку ";
fgets(input, 80, stdin);
for(i = 0; i < strlen(input); i++)
{
for(j = 0; input[i] != ' ' && input[i]; j++, i++)
{
current[j] = input[i];
}
current[j] = '\0';
cout << current << endl;
}
}
Вариант2
#include <iostream>
using namespace std;
int main()
{
char input[80];
char current[80];
char *prt, *prt_cur;
cout << "Введите строку ";
fgets(input, 80, stdin);
prt = input;
while(*prt)
{
prt_cur = current;
while(*prt != ' ' && *prt)
{
*prt_cur = *prt;
prt_cur++;
prt++;
}
// Пропускаем пробел
if(*prt) prt++;
*prt_cur = '\0';
cout << current << endl;
}
} | |
|
|
|
|
|
|
|
для: like-nix
(03.07.2007 в 22:58)
| | void __fastcall TCForm::Sread(TObject *Sender, TCustomWinSocket *Socket)
{
AnsiString* result = Split("Яндекс, Рамблер, Гугл", ", ");
ShowMessage(result[0]); /* Ничего не выводит */
}
AnsiString* Split(AnsiString input, AnsiString sep)
{
AnsiString output[256];
int pos=1, size=0;
while(true)
{
pos = AnsiPos(sep, input);
if (pos == 0)
{
output[size] = input;
break;
}
else
output[size++] = input.SubString(0, pos-1);
input.Delete(1, pos-1+sep.Length());
if (pos == 0) break;
}
ShowMessage(output[0]); /* выводит Яндекс */
return output;
} |
Че за трабла? | |
|
|
|
|
|
|
|
для: bronenos
(04.07.2007 в 13:17)
| | *** вопрос снят | |
|
|
|