Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Уважаемые господа! Как из С-строки (char*) удалить 3 последних символа и уменьшить её размер на 3? Заранее благодарен за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:04 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Без проверок на длину szTmp[strlen(szTmp)-3] = '\0' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:25 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
if ( ( int len = _tcslen( string ) ) > 3 ) { string[ len - 4 ] = 0; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:26 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
я конечно C не знаю, но ... Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 12:59 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Dark Elf Тебе нужно освободить память, занимаемую последими тремя символами, или просто чтобы strlen() от строки стало на 3 меньше? funikovyuri 1. У известной мне strcpy() только два параметра. 2. И она пишет из второго в первый, т.е. ты затираешь исходную строку мусором. 3. И откуда free(str)? Ты её выделял, что ли? Может, free(str 2 )? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:32 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
в моем коде куча ошибок - я и не спорю я последний раз C использовал наверное лет 5-7 назад - но идея там верная - в том смысле что просто поставить признак конца строки - это не полное решение free там именно для освобождения памяти занимаемой старой строкой, после этого, конечно же, надо написать Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:52 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
я не помню семантику вызова функций работы со строками - и посмотреть мне сейчас негде - просто увидел откровенно не правильные решения и написал... если у strcpy() первым параметром идет dest - так тому и быть ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 15:54 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
Как вариант предлагаю функцию: Create and return a new string from a substring of string <s> at position <p>, for length <l>. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 18:33 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
char *p = s+strlen(s); if(p>s)*(--p)='\0'; if(p>s)*(--p)='\0'; if(p>s)*(--p)='\0'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 19:48 |
|
||
|
Работа со строками
|
|||
|---|---|---|---|
|
#18+
for(int i=0;i<3;++i) if(p>s)*(--p)='\0'; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.09.2003, 19:49 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32268011&tid=2035998]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
| others: | 266ms |
| total: | 413ms |

| 0 / 0 |
