Итак, я работаю над небольшим проектом, чтобы попасть на С++, а часть этого - чтение и запись данных в файл. Я выбрал самый простой маршрут, о котором я знаю, который превращает различные атрибуты объекта в строку целых чисел. Чтобы быть ясным, я работаю с объектом "День", который имеет различные атрибуты о моем дне (минуты спали, минуты тренировки и т.д.). В настоящее время у меня есть следующий фрагмент кода:
string Day::writeAsData()
{
// Writes the day as a condensed machine-readable format:
// {rawTime,busyMinutes,sleepMinutes,productivity,enjoyment,fatigue,weight,calories}
// e.g. {1444316982,645,360,7,4,5,180,0}
string dataString = "{"
+ to_string(rawTime) + ","
+ to_string(busyMinutes) + ","
+ to_string(sleepMinutes) + ","
+ to_string(productivity) + ","
+ to_string(enjoyment) + ","
+ to_string(fatigue) + ","
+ to_string(weight) + ","
+ to_string(calories)
+ "}";
return dataString;
}
чтобы записать данные в ясном машиночитаемом формате. Я работаю над функцией-компаньоном, чтобы получить данные из строки и соответствующим образом установить значения объекта Day. Я нашел С++ String Toolkit Library, и я хочу использовать его функцию parse(). Однако, добавив
#include "strtk.hpp"
к моему списку включений в конечном итоге бросает ключ в сборку. Принимая эту линию, я получаю чистую и успешную сборку. Однако добавление этой строки приводит к
Error C4996 'std::_Fill_n': Function call with parameters that may be unsafe - this
call relies on the caller to check that the passed values are correct. To disable this
warning, use -D_SCL_SECURE_NO_WARNINGS.
в строке 2811 бесполезности. Я не использую std:: Fill_n в любом месте моего кода.
До сих пор я обнаружил, что String Toolkit использует библиотеки Boost, которые я поместил в свою директорию include. Я попытался добавить
#define D_SCL_SECURE_NO_WARNINGS 1
в файл Day.cpp и файл Day.h, но ничего не сделали. Я не могу добавить его в xutility, потому что файл только для чтения. Как я могу отключить предупреждение или исправить проблему?