Библиотека файла свойств для C (или C++)

Выглядит хорошо, что вы пропускаете цель = цель - 1 в цикле строк

    target = current
    Dim column As Integer = DataGridView1.SelectedCells(0).ColumnIndex
    looping = True
    While looping
        If target = 0 Then
            looping = False
        End If
        DataGridView1.SelectedRows(target).Cells(column).Style.BackColor =        Color.Orange
        target -= 1
    End While
13
задан Steve Jessop 17 May 2009 в 17:20
поделиться

3 ответа

STLSoft 1.10 alpha содержит класс platformstl :: properties_file . Его можно использовать для чтения из файла:

using platformstl::properties_file;

properties_file  properties("stuff.properties");

properties_file::value_type  value = properties["name"];

или из памяти:

properties_file  properties(
    "name0=value1\n name1 value1 \n name\\ 2 : value\\ 2  ",
    properties_file::contents);

properties_file::value_type  value0 = properties["name0"];

properties_file::value_type  value1 = properties["name1"];

properties_file::value_type  value2 = properties["name 2"];

Похоже, в последней версии 1.10 есть множество всеобъемлющих модульных тестов, и что они обновили класс для обработки всех правил и примеров приведено в документации Java .

Единственная очевидная проблема состоит в том, что value_type является экземпляром stlsoft :: basic_string_view (описанного в this Статья доктора Добба ), которая чем-то похожа на std :: string , но фактически не владеет своей памятью. Предположительно, они делают это, чтобы избежать ненужных распределений, предположительно по соображениям производительности, что очень важно для дизайна STLSoft. Но это значит, что можно t просто напишите

std::string  value0 = properties["name0"];

Однако вы можете сделать следующее:

std::string  value0 = properties["name0"].c_str();

и это:

std::cout << properties["name0"];

Я не уверен, что согласен с этим дизайнерским решением, поскольку насколько вероятно, что чтение свойств - из файла или из памяти - понадобится последний цикл. Я думаю, им следует изменить его на использование по умолчанию std :: string , а затем использовать «строковое представление», если это явно требуется.

Кроме этого, выглядит класс properties_file как будто он делает свое дело.

5
ответ дан 2 December 2019 в 00:32
поделиться

Если вы ищете бесплатные вещи и хотите делать что-то быстро, попробуйте разработать плагин, скомпилированный на языке C Gimp: это очень просто, и я думаю, что GIMP хорошо справляется с этой задачей. изменение размера:

Возможно, это не самый быстрый способ изменения размера, но самый дешевый (бесплатный) и самый быстрый для разработки .

Посмотрите там .

it /
2
ответ дан 2 December 2019 в 00:32
поделиться

libconfuse (библиотека C) тоже полезен; он существует всегда и является гибким.

Это нормально, далеко за пределы java.util.Properties. Тем не менее, он не обязательно будет обрабатывать угловые случаи формата файла свойств java (который, кажется, является вашим требованием).

См. Примеры:

  • просто: www.nongnu.org/confuse/simple.conf
  • сумасшедший: www.nongnu.org/confuse/test.conf

Нет библиотеки оболочки C ++, о которой я знаю.

4
ответ дан 2 December 2019 в 00:32
поделиться