Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    Wadimus



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ну да, не ссылка, а указатель
     
    А насчет памайти, там вроде же функция принимает указатель, а он у меня описан. А потом эта строка больше нигде не используется... Вроде как если str указявет на строку, значит, ента строка же какое-то место занимает
     
    З.Ы. Сорри за возможно глупые размышления, раньше писал на PHP, не привык к некоторым "особенностям" C

    Всего записей: 25 | Зарегистр. 21-07-2003 | Отправлено: 23:32 05-03-2005
    wiwiw

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    с памятью все нормуль.
    но прототипы функций описывают как глобальные переменные.
    поэтому строку

    Цитата:
    char get_tag_contents(char*, char*, char*);  
     

    вынеси за main().
     
     
    вместо  

    Цитата:
    return *result;      
     

    надо

    Код:
     
    return result;
     

    или явно

    Код:
     
    retutn &result[0];
     

    т.к. имя массива - это указатель на его первый элемент.
    функция должна возвращать тип char* (этого требует %s в printf()).
    кроме того,
    result у тебя определен как локальная переменная.
    после возврата из функции get_tag_contents память, выделенная под все локальные нестатические переменные освобождается.
    поэтому напиши так:
     

    Код:
     
    static char result[1000];  
     

    или сделай  result глобальным.

    Всего записей: 127 | Зарегистр. 20-03-2004 | Отправлено: 14:32 06-03-2005 | Исправлено: wiwiw, 14:39 06-03-2005
    distance

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wiwiw

    Цитата:
    т.к. имя массива - это указатель на его первый элемент

     
    это распространенное и ошибочное заблуждение.  
    массив типа T - это вполне самостоятельный агрегат c/c++ и онне является указателем на первый элемент, а неявно приводится компилятором к rvalue типа T* в большинстве случаев. а это две большие разницы.
    есть и исключения
    - унарный оператор взятия адреса '&' - возвращает указатель на массив
    - функция 'sizeof' возвращает размер всего массива, а вовсе не размер указателя

    Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 03:50 08-03-2005
    wiwiw

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    distance
    Я согласен.  
     
     
    Wadimus
    правильно будет так:
     
    Имя массива может быть использовано как указатель на его первый элемент.

    Всего записей: 127 | Зарегистр. 20-03-2004 | Отправлено: 14:57 08-03-2005
    mihas83



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    wiwiw

    Цитата:
    Имя массива может быть использовано как указатель на его первый элемент.  

    О чем, кстати, пишут даже в большинстве книг.

    Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 15:59 08-03-2005
    IXaosI



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, не смейтесь, ток учусь..
    Вопрос таков по С++ Билдер 6.0
    В библиотеке windows.h надо вызвать функцию которая отбражает русские символы в консоли
    #include <iostream.h>
    #include <windows.h>
    char* Rus(char* text);
    int main()
    {
    int i;
    cout <<Rus("Приветы")  <<endl;
    cin >>i;
    return 0;
    }
     
    Что-то типа такого, или этот код только  в Visual??
    Если можете приведите пример свой, только по максимуму просто, что бы мне чайнику было понятно, ооооочень прошу, сенкс...
     
    Да и второе, скажите пожалуйста почему после выполнении программы она закрывается,  
    как можно сделать, что бы консоль оставался, или что бы программа выполнялась заново...???
     
     


    ----------
    Надо поднять глаза, что бы увидеть высь. Мир в наших руках - просто оглянись... Оглянись и очнись.

    Всего записей: 630 | Зарегистр. 31-07-2004 | Отправлено: 20:06 14-03-2005
    WiseAlex



    Софтовых дел М...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    IXaosI
    http://forum.ru-board.com/topic.cgi?forum=33&topic=4227&start=280#15
    и дальше

    Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 20:12 14-03-2005
    IXaosI



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    WiseAlex
    а как насчет

    Цитата:
    Да и второе, скажите пожалуйста почему после выполнении программы она закрывается,  
    как можно сделать, что бы консоль оставался, или что бы программа выполнялась заново...???



    ----------
    Надо поднять глаза, что бы увидеть высь. Мир в наших руках - просто оглянись... Оглянись и очнись.

    Всего записей: 630 | Зарегистр. 31-07-2004 | Отправлено: 21:36 14-03-2005
    vndovr

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Поставь getchar() в конце main() - будет открыто пока какой-либо символ не введешь

    Всего записей: 359 | Зарегистр. 05-02-2004 | Отправлено: 22:16 14-03-2005
    Karlsberg



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    vndovr
    При таком варианте просто Enter не прокатит...
    IXaosI
    Если хочешь, можешь так извращнуться:

    Цитата:
    while(!_kbhit())
    {
    Sleep(300);
    }
     


    Всего записей: 1008 | Зарегистр. 13-12-2001 | Отправлено: 09:05 15-03-2005
    nobody2

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    while(!_kbhit())  
    {  
    Sleep(300);  
    }  

    Не портируемо.

    Всего записей: 223 | Зарегистр. 15-07-2003 | Отправлено: 11:31 15-03-2005
    WiseAlex



    Софтовых дел М...
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    IXaosI

    Цитата:
    Да и второе, скажите пожалуйста почему после выполнении программы она закрывается,  
    как можно сделать, что бы консоль оставался, или что бы программа выполнялась заново...???

    а что cin>>str; не подходит?

    Всего записей: 1001 | Зарегистр. 02-03-2003 | Отправлено: 11:56 15-03-2005
    mihas83



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    WiseAlex

    Цитата:
    а что cin>>str; не подходит?

    Так это фактически то же, что и getchar()...

    Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 13:19 15-03-2005
    Karlsberg



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    nobody2

    Цитата:
    Не портируемо.

    А нужно было портируемое? Ну предложи свой портируемый вариант...

    Всего записей: 1008 | Зарегистр. 13-12-2001 | Отправлено: 13:20 15-03-2005
    Duke Shadow



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    getch() работает - причём без эха на экран.

    ----------
    Тот, кто умеет - делает, кто не умеет - учит(с)Б. Шоу
    Войны никого не могут сделать великим(с)магистр Йода
    Аватар(c)MindDiver

    Всего записей: 3911 | Зарегистр. 15-02-2003 | Отправлено: 14:08 15-03-2005
    Karlsberg



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Да, getchar() с Enter-ом работает замечательно. Правда, только с ним.

    Всего записей: 1008 | Зарегистр. 13-12-2001 | Отправлено: 14:27 15-03-2005
    IXaosI



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Karlsberg

    Цитата:
    getchar() с Enter-ом работает замечательно.

    Спасибо, этим обойдемся..
    А какя разница между char и char*

    ----------
    Надо поднять глаза, что бы увидеть высь. Мир в наших руках - просто оглянись... Оглянись и очнись.

    Всего записей: 630 | Зарегистр. 31-07-2004 | Отправлено: 20:02 15-03-2005
    gl0be

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    char* pC; - это указатель(адрес) на переменную типа char .
    char c; - это сама переменная.
     
     
    pС= &c; берем адрес переменной
    *pС = 'r'; разименовываем и присваиваем переменной с (т.к. в pС адрес с) значение 'r';
     
    Почитай Керниган,Ричи "Язык программирования С".Везде в инете есть.там все очень подробно описано.

    Всего записей: 21 | Зарегистр. 24-12-2003 | Отправлено: 00:38 16-03-2005
    mihas83



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gl0be

    Цитата:
    Почитай Керниган,Ричи "Язык программирования С".Везде в инете есть.там все очень подробно описано.  

    IXaosI, без этого дальше нельзя ни шагу.
    Очень принципиальнэ вещи.


    ----------
    Мы знаем: время растяжимо. Оно зависит от того,
    Какого рода содержимым Вы заполняете его. (C. Маршак)

    Всего записей: 7832 | Зарегистр. 15-07-2003 | Отправлено: 07:48 16-03-2005
    IXaosI



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gl0be
    mihas83
    Народ я боагодарен, просто у меня манера наперед забегать, я постепенно учусь, а некоторые коды программы надо зарание...
    Спасибо вам...

    ----------
    Надо поднять глаза, что бы увидеть высь. Мир в наших руках - просто оглянись... Оглянись и очнись.

    Всего записей: 630 | Зарегистр. 31-07-2004 | Отправлено: 23:17 16-03-2005
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru