|
|
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
есть указатель char *s; s = "sdfsdhfjh"; как определить размер строки s ? _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 11:06 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
strlen правда строка должна нулем заканчиваться ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 11:16 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
немного усложню вопрос есть указатель на строку типа параметр значение как выкусить справа и слева пробелы, табуляцию и выкусить сцепку параметр - значение ? _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 11:37 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
stl не противоречит моральным принципам? std::string ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 11:48 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
поясню. это то , что можно поискатьв инете ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 11:49 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
эхе хех - противоречит :( я делаю так: и выгребаю кучу косяков :( char *config::leftrighttrim(char *str) { printf("-------------------------------\n"); char *s,*t; // deleting first delemiters while ((*str == ' ')||(*str == '\t')) { str++; } printf("str:%s\n",str); //finding last symbol except spase, tab and new line int len = strlen(str); s = new char[len]; t = s; while (*str) { printf("%c ", *str); *t++ = *str++; } printf("s :%s\n",s); // in s adress of the first symbol from the end // mooving symbols between start and stop into the new result len = s-str+1; char *res; res = "111"; res = new char[len]; for (i=0; i<len; i++) res = str; printf("new: %s\n",res); return res; } _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 12:25 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
на самом деле тут коментарии немного в разлете от кода но косяки лезут на попытке переноса данных из одной строки в другую _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 12:27 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
очень интересно: len = s-str+1; // и len указывает в Космос for (i=0; i<len; i++) res = str; //зачем это присваивание делать len-1 раз??? и прочее..... все как-то не очень связанно получается :) Задача какая собсна (что на входе и что на выходе быть должно???) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 12:56 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
да да я как раз щас все это правлю в правильный вид _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 13:20 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
трималка с двух сторон char *config::leftrighttrim(char *str) { // left trim while ((*str == ' ')||(*str == '\t')) { str++; } int i; int len; for (i=strlen(str); i>=0; i--){ if ((str !=' ')&&(str!='\t')&&(str!='\n')){ len = i; break; } } char *tempstr; tempstr = new char[len]; strncpy(tempstr, str, len); tempstr[len] = '\0'; return tempstr; } _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.05.2004, 16:18 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. все разделители перечислены в seps[]. Можно напрямую эту функцию вызвать в цикле и полученные слова складывать через strcat или просто правильно её переделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 08:31 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
а вот и вариант решения разбора файла с выкусыванием связки команда - аргумент char *config::leftrighttrim(char *str) { char *s; s = str; // left trim while ((*s == ' ')||(*s == '\t')) { s++; } int i; int len; for (i=strlen(s); i>=0; i--){ if ((s !=' ')&&(s!='\t')&&(s!='\n')){ s='*'; len = i-1; break; } } char *tempstr; tempstr = new char[len]; strncpy(tempstr, s, len); return tempstr; } char *config::LowStr(char *str) { char *tempstr; tempstr = new char[strlen(str)]; int i; for (i=0; i<strlen(str); i++){ tempstr = tolower(str); } return tempstr; } char *config::getCommand(char *str) { char *c; char *resstr; c = str; int i; int len=0; for (i=0; i<strlen(c); i++){ if ((c==' ') || (c== '\t')){ len = i; break; } } if (len != 0) { resstr = new char[len]; strncpy(resstr,c,len); } else resstr="not the command"; return resstr; } char *config::getParam(char *str) { char *s; s = str; int i,pos; pos = 0; // searching first spase delemiter for (i=0; i<strlen(str); i++){ if ((s[0] != ' ')&&(s[0] != '\t')) s++; else { pos = i; break; } } if (pos != 0) { // searching first symbol for (i=0; i<strlen(str)-pos; i++){ if ((s[0] == ' ') || (s[0] == '\t')) s++; else { return s; break; } } } s = "no parameter"; return s; } _____________________________________ Хорошо жить хорошо когда жизнь хороша ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 11:32 |
|
||
|
Определить размер строки
|
|||
|---|---|---|---|
|
#18+
юзай Код: plaintext естесвенно перед ] пробела не надо :) ш (';') (V),(V),, Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.05.2004, 12:01 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=57&tid=2034998]: |
0ms |
get settings: |
9ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
2ms |
| others: | 206ms |
| total: | 382ms |

| 0 / 0 |
