• Структура в си == объект?

    @q27off
    В приведенном фрагменте кода нет синтаксических ошибок, если используется C99 (VS не поддерживает). На каждой итерации создается массив структур, длина которого равна i.

    Наверное, вы хотели сделать так:
    struct character characters[alphabetSize];

    Стандартом С89 массивы переменной длины не поддерживаются. Поэтому для VS этот же код выглядит так:
    struct character *characters = malloc(sizeof(struct character) * alphabetSize);

    И не забудьте освободить выделенную память, когда массив станет не нужен:
    free(characters);
    Ответ написан
    Комментировать
  • VIM set encoding, fileencoding если файл в windows-1251

    @qnikst
    Возможно поможет (автоопределение utf-8 файлов)
    " {{{ Locale settings
    " if we have BOM => this is BOM
    if &fileencodings !~? "ucs-bom"
    	set fileencodings^=ucs-bom
    endif
    if &fileencodings !~? "utf-8"
    	let g:added_fenc_utf8 = 1
    	set fileencodings+=utf-8
    endif
    if &fileencodings !~? "default"
    	set fileencodins+=default
    endif
    " }}}

    определяемые кодировки
    set fileencodings=utf-8,cp1251,koi8-r,cp866


    Меню для быстрого выбора кодировки
    menu Encoding.koi8-r :e ++enc=koi8-r ++ff=unix<CR>
    menu Encoding.windows-1251 :e ++enc=cp1251 ++ff=dos<CR>
    menu Encoding.cp866 :e ++enc=cp866 ++ff=dos<CR>
    menu Encoding.utf-8 :e ++enc=utf8<CR>
    menu Encoding.koi8-u :e ++enc=koi8-u ++ff=unix<CR>
    
    map <F8> :emenu Encoding.<TAB>
    
    Ответ написан
    1 комментарий
  • Как записать 256 бит в массив из 16 слов?

    Rsa97
    @Rsa97
    Для правильного вопроса надо знать половину ответа
    for (int i = 0; i < 255; i++) {
      arr[i / 16] = (arr[i / 16] & ~(1 << (i % 16))) | (func(i) << (i % 16));
    }
    Ответ написан
    Комментировать
  • Как заменить пути во всех файлах проекта?

    @aynur_safin
    Replace Text
    www.ecobyte.com/replacetext

    или батник:
    @echo off
    Setlocal EnableExtensions
    
    Set infile=%1
    Set find=что_меняем
    Set replace=на_что_меняем
    
    SetLocal EnableDelayedExpansion
    
    for /f "usebackq delims= eol=" %%n in (!infile!) do (
    set LINE=%%n
    set TMPR=!LINE:%find%=%replace%!
    Echo !TMPR!>>!infile!-TMP.TXT
    )
    
    copy %infile% %infile%.bak
    move %infile%-TMP.TXT %infile%
    Ответ написан
    2 комментария