PDA

Просмотр полной версии : Вопрос по парсингу в Си


abrikos
19.04.2004, 14:49
Задача: распарсить var0="user@domain" в var1="user" var2="domain"

Напишите кто знает код на C как это сделать.

Bald
19.04.2004, 15:49
Я тут еще немножко подумал и вот что получилось:

string[] s="user@domain";

string[30] user;
string[30] domain;

sscanf(s,"%s@%s", user, domain);

abrikos
20.04.2004, 13:39
Я тут еще немножко подумал и вот что получилось:

string[] s="user@domain";

string[30] user;
string[30] domain;

sscanf(s,"%s@%s", user, domain);хм.. че-то так не получается
user='user@domain'
domain='ь╚'

sa
22.04.2004, 02:04
char *s="user@domain";
char user[30];
char domain[30];
sscanf(s,"%[^@]@%s", user, domain);

abrikos
23.04.2004, 16:28
Пришлось сделать так:
s="user@domain";
s[MAX_STRING_LENGTH-1] = '\000';
user=strtok(s,"@");
domain=strtok(NULL,"@");

sa
25.04.2004, 03:10
Пришлось сделать так:
s="user@domain";
s[MAX_STRING_LENGTH-1] = '\000';
user=strtok(s,"@");
domain=strtok(NULL,"@");

s[MAX_STRING_LENGTH-1] = '\000'; зачем?
strtok строку коцает
user domain указатели а не новые строки