|
|
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Можно так: char *p; p = ((char*)strchr(str,'символ')); if( p != 0) ((char*)strchr(str,'символ'))[0] = 0; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 12:17 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
АннМожно так: char *p; p = ((char*)strchr(str,'символ')); if( p != 0) ((char*)strchr(str,'символ'))[0] = 0; Тогда уж так наверное: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 12:38 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
А можно так: ... if(p) p[0] = 0; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 12:51 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
АннА можно так: ... if(p) p[0] = 0; Можно, но так обычно пишут паскалисты, а не крутые C-шные парни :). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 13:53 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
лучше так: Код: plaintext 1. Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 13:57 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Карабас Барабаслучше так: Код: plaintext 1. Типа предполагается что p=str и p!=NULL? Ну тогда я б предпочел так: Код: plaintext 1. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 14:43 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Интересно посмотреть, во что превратит компилятор тот и другой вариант Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 14:47 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Карабас БарабасИнтересно посмотреть, во что превратит компилятор тот и другой вариант Posted via ActualForum NNTP Server 1.3 Практически то же самое, но у тебя один лишний декремент, поэтому на моем компиляторе (gcc 3.3.5) мой вариант на 16 байт короче :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 14:58 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. PS: Borland C++ 5.5.1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 15:16 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Карабас Барабас вобщем, внутри цикла по 8 команд в обоих случаях, тут надо на число тактов смотреть ..... PS: Borland C++ 5.5.1 Какой принципиальный вопрос однако Еще раз: у тебя один лишний декремент и хучь убей:) Естественно он вне цикла поскольку выполняется только при истинности условия if (*p=='символ'). То есть имеем два сравнения, один инкремент в цикле и одно присваивание вне его в моем варианте и два сравнения, один инкремент в цикле, один декремент и одно присваивание вне его в твоем... Мне казалось, что это достаточно очевидно и без ассемблерного листинга :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 15:38 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
После включения оптимизации по скорости: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. вобщем, те же штаны, примерно ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 15:40 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
А у тебя лишнее присваивание, т.е. даже если *p==0, то все равно *p=0; Posted via ActualForum NNTP Server 1.3 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 15:42 |
|
||
|
..хм... а КАК? ...можно обрезать строку?
|
|||
|---|---|---|---|
|
#18+
Карабас БарабасА у тебя лишнее присваивание, т.е. даже если *p==0, то все равно *p=0; Posted via ActualForum NNTP Server 1.3 Ну и что? У каждого свои недостатки. Зато бинарный код короче, а текстовый читабельней (IMHO). И напомни мне, на что уходит тактов больше - на присваивание или на декремент переменных? :) P.S. Тебе не надоело еще? Или ты тоже развлекаешься как можешь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.08.2005, 15:59 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=33232036&tid=2032871]: |
0ms |
get settings: |
11ms |
get forum list: |
21ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
77ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 249ms |
| total: | 451ms |

| 0 / 0 |
