С не С++

Тема в разделе "LANGS.C", создана пользователем mmshvedko, 7 янв 2009.

  1. mmshvedko

    mmshvedko New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2005
    Сообщения:
    23
    Здравствуйте, сегодня обнаружил себя следующий пробел в знаниях:

    компилятор С++ нижеприведённый код кушает и пограмма выдаёт правильный результат:

    int sn;
    char buf[BUFSIZ];

    if( (fd=open("c://pic11.bmp",2))<0 )
    {
    printf("error: %s",strerror(errno));
    return -1;
    }

    read(fd,buf,0x36); // читаем заголовок .bmp файла
    sn=(int&)buf[0x12]; // размер по горизонтали в пикселах

    , а на С крайняя строка вызывает затруднения ... кто знает подскажите.
     
  2. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    В C нет ссылок. Поэтому и не кушает. Попробуй так
    Код (Text):
    1. sn = *( int * )&buf[0x12]
     
  3. GoldFinch

    GoldFinch New Member

    Публикаций:
    0
    Регистрация:
    29 мар 2008
    Сообщения:
    1.775
    в С нет ссылок (&)

    синхронно...
     
  4. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Ссылок нету. "//" -> "////"?
     
  5. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    GoldFinch
    Я на 1 секунду раньше. :derisive:
     
  6. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Некоторые C компиляторы (не C++!) поддерживают однострочные комментарии. Вроде бы их в С99 добавили. Так что проблема врядли в этом была.
     
  7. mmshvedko

    mmshvedko New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2005
    Сообщения:
    23
    Работает=Спасибо.
     
  8. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    C-style cast для приведения к ссылке. Жость. Йаду три раза в день перед едой.
     
  9. asmfan

    asmfan New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2006
    Сообщения:
    1.004
    Адрес:
    Abaddon
    Какие комментарии? я про эскейп последовательности в строках.
     
  10. Forever

    Forever Виталий

    Публикаций:
    0
    Регистрация:
    12 апр 2008
    Сообщения:
    244
    Пардон. :)
     
  11. TermoSINteZ

    TermoSINteZ Синоби даоса Команда форума

    Публикаций:
    2
    Регистрация:
    11 июн 2004
    Сообщения:
    3.552
    Адрес:
    Russia
    _DEN_
    Знаете иногда это всеже понятнее, чем вдумываться что там сделает static_cast и тому подобное. На Сях это нормальная практика.
     
  12. mmshvedko

    mmshvedko New Member

    Публикаций:
    0
    Регистрация:
    9 сен 2005
    Сообщения:
    23
    Заметил следующею особенность:

    на PC(bcc)- программа компилируется и выполняется
    ,а на PDA(pgcc)- компилируется, но выполняется только после об"явления массива статичесим или глобальным.

    Конечно есть некоторые соображения-предположения, но интересно обоснованное-компитентное мнение по этому поводу.
     
  13. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    mmshvedko

    Скорее всего на PDA не хватает стека.
     
  14. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    А в чём смысл приведения к ссылке в первом посте? Учитывая, что int sn;
     
  15. _DEN_

    _DEN_ DEN

    Публикаций:
    0
    Регистрация:
    8 окт 2003
    Сообщения:
    5.383
    Адрес:
    Йобастан
    W4FhLF

    Смысл в том, чтобы int сконструировался из четырех char.
     
  16. W4FhLF

    W4FhLF New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2006
    Сообщения:
    1.050
    _DEN_

    Забавно, но впервые вижу такое применение ссылок. Всегда такое решал через указатели.
     
  17. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Самое нормальное это сделать структуру - заголовок, и туда читать.