Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть функция: func(int count, char* string1, int* code2, char** string2) здесь code2 и string2 - выходные парамеры. Подскажите, как правильно присвоить char** string2 значение, к примеру "abc"? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 11:11 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
ditbanкак правильно присвоить char** string2 значение, к примеру "abc"? Код: sql 1. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 12:14 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
ditban, а почему тебе не интересно как туда передать скажем два значения Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 12:16 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Ради Ктулху не надо их провоцировать! Вроде уже давно с С++ сбежал, но до сих пор икается при воспоминаниях о попытках объяснить, что передаваемый в функцию указатель чтобы та вернула строку тоже надо инициализировать, а не "ну это же выходной параметр, вот в него функция и пишет, она же работает, значит ошибки нет, а эта бага непонятно откуда берется, наверно винда нестабильная виновата" (почти точное изложение речи орла, любившего писать нечто вроде Код: plaintext 1. при том что функция типа void (LPSTR*) ). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 12:43 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
wstВроде уже давно с С++ сбежал И правильно сделал, раз уж не научился различать функцию, возвращающую строку и функцию, возвращающую указатель на строку. Это две разные вещи, причём вопросам управления памятью (о которых ты талдычишь) совершенно перпендикулярные. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 12:53 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Я этот мусор как раз разгребал за такими вот деятелями, считающими что указатели и управление памятью перпендикулярны. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:07 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
ditbanДобрый день. Есть функция: func(int count, char* string1, int* code2, char** string2) здесь code2 и string2 - выходные парамеры. Подскажите, как правильно присвоить char** string2 значение, к примеру "abc"? Никак, у них разные типы. Но Dimitry Sibiryakov скорее всего дал вам ответ на тот вопрос, который вы хотели спросить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:15 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
wstРади Ктулху не надо их провоцировать! Вроде уже давно с С++ сбежал, но до сих пор икается при воспоминаниях о попытках объяснить, что передаваемый в функцию указатель чтобы та вернула строку тоже надо инициализировать, а не "ну это же выходной параметр, вот в него функция и пишет, она же работает, значит ошибки нет, а эта бага непонятно откуда берется, наверно винда нестабильная виновата" (почти точное изложение речи орла, любившего писать нечто вроде Код: plaintext 1. при том что функция типа void (LPSTR*) ). прочитал и не увидел логики. Объясните нормально, что вы хотели сказать И mayton ни кого не провоцирует, а пытается дать знания человеку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:20 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
SashaMercuryпрочитал и не увидел логики. Как я уже сказал: человек путает присваивание указателю и присваивание переменной на которую указатель указывает. Это эмоциональное, логику искать бесполезно. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:26 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
return string - это кстати злобный антипаттерно и грабли с топором на ручке на который каждый С-newbie обязательно наступит. Разобъёт башку а потом почешется забудет и еще раз наступит... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:30 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
wstРади Ктулху не надо их провоцировать! Вроде уже давно с С++ сбежал, Сбежал -- значит, слабак ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:38 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
ditbanДобрый день. Есть функция: func(int count, char* string1, int* code2, char** string2) здесь code2 и string2 - выходные парамеры. Подскажите, как правильно присвоить char** string2 значение, к примеру "abc"? Тут всё зависит от того, что ты понимаешь под словом "правильно". Дай полную спецификацию на эту функцию -- тогда скажу, как присвоить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:40 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
К сожалению не раз видел, как попытка "дать знания" человеку, только осваивающему язык заканчивается ужасами, вроде того который я привел выше. Про первое выделенное красным - передача в функцию аргументов вида char** или LPSTR* чтобы через него та вернула строку - вполне обычный способ, особенно в Win API. Часто такое встречается и в коде программ/библиотек, не использующих что-то вроде stl/qt. Но при этом существа, бывает, видят слово LPSTR, объявляют указатель на него и в неинициализированном виде отдают в функцию, что приводит к ошибкам, которые куда проще найти и исправить, чем объяснить их автору в чем дело. "Теплые" воспоминания о таком способе потратить свое время и заставили меня вообще тут что-то написать, когда увидел, как человеку, только изучающему язык сразу предлагают поиграться с указателями. Второе выделенное красным - особо запомнившийся фрагмент речи человека, намолотившего к тому времени под мегабайт кода и убеждавшего меня что все у него правильно, а что программа падает - так это происки врагов. Логики там не было изначально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:40 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
На самом деле учительствовать в сях - дело неблагодарное ... Как в той байке где "один дурак сотню мудрецов ушатает..." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:41 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
wstпередача в функцию аргументов вида char** или LPSTR* чтобы через него та вернула строку - вполне обычный способ, особенно в Win API. Нет, вот как раз в Win API я что-то не припоминаю функции, которая бы принимала на вход указатель на указатель. Везде передаётся обычный LPSTR, то есть указатель на буфер. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 13:46 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
wstпередача в функцию аргументов вида char** или LPSTR* чтобы через него та вернула строку - вполне обычный способ, особенно в Win API. Солидарен с Дмитрием. Как говорится - пример в студию. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:21 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Не принципиально, действительно, в виндовых заголовках лежащих с migw482 всего 1 функция, возвращающая так массив строк, но суть дела это не меняет. Разрешаю по этому поводу потроллить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:30 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
IMHO 1. Вы бы хоть название ф-ции написали. А то информационная ценность сообщения "в виндовых заголовках лежащих с migw482 всего 1 функция, возвращающая так массив строк" приближается к 0 2. "но суть дела это не меняет" <censored, было not polite> ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 15:43 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
maytonreturn string - это кстати злобный антипаттерно и грабли с топором на ручке на который каждый С-newbie обязательно наступит. Э? Что там такого злобного кроме бешеной реаллокации и копирования? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 17:03 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovЭ? Что там такого злобного кроме бешеной реаллокации и копирования? А этого мало? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 17:06 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Тогда уж брать C++ и делать полноценный String с каким нибудь reference counter'ом. Ну и еще один минус. Если так возвращать строки из библиотек, то можно наткнутся, что библиотека скомпилирована с другим менеджером кучи, чем вызываемое приложение. Ну и кол-во глюков дальше понятно... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.08.2014, 17:07 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
wstК сожалению не раз видел, как попытка "дать знания" человеку, только осваивающему язык заканчивается ужасами, вроде того который я привел выше. Про первое выделенное красным - передача в функцию аргументов вида char** или LPSTR* чтобы через него та вернула строку - вполне обычный способ, особенно в Win API. Часто такое встречается и в коде программ/библиотек, не использующих что-то вроде stl/qt. Но при этом существа, бывает, видят слово LPSTR, объявляют указатель на него и в неинициализированном виде отдают в функцию, что приводит к ошибкам, которые куда проще найти и исправить, чем объяснить их автору в чем дело. "Теплые" воспоминания о таком способе потратить свое время и заставили меня вообще тут что-то написать, когда увидел, как человеку, только изучающему язык сразу предлагают поиграться с указателями. Второе выделенное красным - особо запомнившийся фрагмент речи человека, намолотившего к тому времени под мегабайт кода и убеждавшего меня что все у него правильно, а что программа падает - так это происки врагов. Логики там не было изначально. Может быть вы и хотите что-то до нас донести, но я до сих пор вижу противоречия (возможно чего-то не понимаю). 1.Что значит существа ? Это живые люди, если вы их учили подсознательно относясь к ним так, то мне понятно почему они мало понимали. 2. Меня смутило ваше "только изучающему язык сразу предлагают поиграться с указателями". Я считаю что любой уважающий себя программист должен понимать (хотя бы примерно), как работает его программа (на любом языке), потому он по дефолту должен знать азы работы с памятью и указатели. И вообще, на мой взгляд, тема указателей должна быть одна из самых первых тем при изучении языка С или С++. Они прививают любовь к этим языкам. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 02:08 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
SashaMercury, По п.2 - при обучении языкам, поддерживающим работу с памятью на уровне С хорошей идеей будет через слово напоминать об осторожности, ну и о -W4/-Wall. Особой любви к языку от постоянных напоминаний не добавится, но мне, например, когда пользуюсь чужими программами обычно нет дела любили разработчики язык или люто ненавидели, зато очень даже важно чтобы те стабильно работали. А что касается азов работы с памятью и адресами и пониманием работы программы - возможно, стоит потратить время на ассемблер, причем любой. Когда все сводится к небольшому числу регистров и операций вокруг них понять что к чему имхо проще, чем параллельно осваивая заметно более сложный язык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 11:38 |
|
||
|
работа с char**
|
|||
|---|---|---|---|
|
#18+
Меня заинтересовала модель памяти в Rust. Качнул 4 документа. The Rust Language Tutorial. Rust: The Friendly Intro. The Rust Reference Manual. GPU Programming in Rust: Implementing High Level Abstractions in a Systems Level Language Интересно как Огненная Лиса бореться с "мусором" в своей норе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.08.2014, 12:19 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=38731529&tid=2019317]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 14ms |
| total: | 156ms |

| 0 / 0 |
