Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
привет Кто-нибудь может объяснить почему эта функция Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. возвращает result=DSFGDFээээ««««««««оюоюою ??? Откуда всё это берётся в массиве у которого 6 элементов? (на остальное не обращаем внимания, это тест) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 21:57 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
а если так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 22:06 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisОткуда всё это берётся в массиве у которого 6 элементов? Из ошибки в функции, которой ты выводишь этот массив на экран. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 22:28 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
Да, так никакого мусора нет (странно как-то всё). Только вот проблема если вместо char str1[] = "DSFGDF"; брать строку которая передаётся в функцию то ошибка при выполнении "нарушение прав доступа при записи по адресу": Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Какие ещё права нужны? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 22:34 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortis, а если так Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 22:40 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
Картежник, тогда уж надо добавить result[length] = 0; Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. Спасибо, помогло. Блин, сложно как всё стало. Последний раз кодил на с++ больше 10 лет назад. Ща сел простенькую прогу написать, элементарных вещей сделать не могу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 22:49 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisКартежник, тогда уж надо добавить result[length] = 0; тогда надо сделать Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 22:54 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisint length = strnlen_s(str,100); А нафига ты массив объявляешь размером 6, а тут говоришь, что он 100? Врать нехорошо, за это тебя и карает. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 23:01 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, int length = strnlen_s(str, 100); определяет длину строки. Что мне нужно было подставить вместо 100? Если бы я знал длину я бы не вызывал strnlen_s. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 23:07 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisЕсли бы я знал длину я бы не вызывал strnlen_s. Ты знаешь длину. Ты её вот здесь указал: new char[6] Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 23:21 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisвозвращает result=DSFGDFээээ««««««««оюоюою ??? Откуда всё это берётся в массиве у которого 6 элементов? (на остальное не обращаем внимания, это тест) Привет. А ты чего передаёшь массив символов в функцию, которая ожидает null terminated string? Ты думаешь, как strnlen_s длину строки высчитывает? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.03.2015, 23:55 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
BagaBaga, ну я не знаю. А как предавать тогда? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 01:54 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortis, На, читай букварь: https://en.wikipedia.org/wiki/Null-terminated_string И пока не прочитаешь, ничего сюда не пиши. Хватит уже позориться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 01:59 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisпривет Кто-нибудь может объяснить почему эта функция Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. возвращает result=DSFGDFээээ««««««««оюоюою ??? Откуда всё это берётся в массиве у которого 6 элементов? (на остальное не обращаем внимания, это тест) Эта функция никак не может возвращать то, что вы написали. Она возвращает указатель. Когда вы пытаетесь вывести на поток вывода строку расположенную по этому указателю, происходит "чтение" до тех пор, пока не встретится терминальный ноль '\0'. Как вы понимаете, он у вас не встретится за эти 6 символов. При проектировании строки, всегда оставляйте 1 символ под терминальный ноль. По второму вопросу, в первом приближении код должен быть такой Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 02:18 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisBagaBaga, ну я не знаю. А как предавать тогда? Как думаешь, какое число вернёт этот код? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Поймёшь что и почему - вопросы исчезнут сами собой. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 08:19 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
BagaBagarigorMortisBagaBaga, ну я не знаю. А как предавать тогда? Как думаешь, какое число вернёт этот код? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. Поймёшь что и почему - вопросы исчезнут сами собой. rigorMortis, выше -- очень толковый совет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:10 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
Да я понял уже. Взял код от SashaMercury. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:56 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
rigorMortisДа я понял уже. Взял код от SashaMercury. Но учти, это не для продакшн кода, будет работать в одной только кодировке -- ANSI (ASCII и её расширениях). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 12:59 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
MasterZivrigorMortisДа я понял уже. Взял код от SashaMercury. Но учти, это не для продакшн кода, будет работать в одной только кодировке -- ANSI (ASCII и её расширениях). а как бы выглядел "продакшн" код ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 15:48 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
SashaMercuryMasterZivпропущено... Но учти, это не для продакшн кода, будет работать в одной только кодировке -- ANSI (ASCII и её расширениях). а как бы выглядел "продакшн" код ? в принципе это невозможно так сделать, изменить case в том же буфере -- длины символом (в байтах) могут быть разные, т.е. результат может не влезть в исходный буфер. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 15:53 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
то есть в других кодировках объём памяти на разные регистры одной и той-же буквы могут отличаться ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 15:56 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
SashaMercuryто есть в других кодировках объём памяти на разные регистры одной и той-же буквы могут отличаться ? Конечно. Не для всех кодировок, естественно. Но приложение с поддержкой разных должно быть на это завязано, безусловно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 16:04 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
SashaMercuryMasterZivпропущено... Но учти, это не для продакшн кода, будет работать в одной только кодировке -- ANSI (ASCII и её расширениях). а как бы выглядел "продакшн" код ? Форумчане, ну не надо троллить... смешивать многобайтовые кодировки и классические С-строки (NULL-terminated string) - изыскание приключений на причинное место. Тогда уж не забудьте, что даже в ASCII toUpper будет худо-бедно работать на первых 127 символах (т.е. латинском алфавите), а вот на "расширенных" (в коих и хранятся "национальные" кодировки) - далеко не факт и сильно зависит от настроек локали... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 18:59 |
|
||
|
Непонятки с массивом
|
|||
|---|---|---|---|
|
#18+
BagaBagaSashaMercuryпропущено... а как бы выглядел "продакшн" код ? Форумчане, ну не надо троллить... смешивать многобайтовые кодировки и классические С-строки (NULL-terminated string) - изыскание приключений на причинное место. Тогда уж не забудьте, что даже в ASCII toUpper будет худо-бедно работать на первых 127 символах (т.е. латинском алфавите), а вот на "расширенных" (в коих и хранятся "национальные" кодировки) - далеко не факт и сильно зависит от настроек локали... ну, в нормально сделанных CRT будет работать... но вообще то уже давно пора забрать про однобайтные кодировки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.03.2015, 20:48 |
|
||
|
|

start [/forum/topic.php?fid=57&fpage=50&tid=2019080]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
60ms |
get tp. blocked users: |
2ms |
| others: | 20ms |
| total: | 163ms |

| 0 / 0 |
