本文整理汇总了C++中FileWriter函数的典型用法代码示例。如果您正苦于以下问题:C++ FileWriter函数的具体用法?C++ FileWriter怎么用?C++ FileWriter使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了FileWriter函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: CallFunction
static FnCallResult CallFunction(EvalContext *ctx, const Policy *policy, const FnCall *fp, const Rlist *expargs)
{
const Rlist *rp = fp->args;
const FnCallType *fncall_type = FnCallTypeGet(fp->name);
int argnum = 0;
for (argnum = 0; rp != NULL && fncall_type->args[argnum].pattern != NULL; argnum++)
{
if (rp->val.type != RVAL_TYPE_FNCALL)
{
/* Nested functions will not match to lval so don't bother checking */
SyntaxTypeMatch err = CheckConstraintTypeMatch(fp->name, rp->val,
fncall_type->args[argnum].dtype,
fncall_type->args[argnum].pattern, 1);
if (err != SYNTAX_TYPE_MATCH_OK && err != SYNTAX_TYPE_MATCH_ERROR_UNEXPANDED)
{
FatalError(ctx, "In function '%s', error in variable '%s', '%s'", fp->name, (const char *)rp->val.item, SyntaxTypeMatchToString(err));
}
}
rp = rp->next;
}
char output[CF_BUFSIZE];
if (argnum != RlistLen(expargs) && !(fncall_type->options & FNCALL_OPTION_VARARG))
{
snprintf(output, CF_BUFSIZE, "Argument template mismatch handling function %s(", fp->name);
{
Writer *w = FileWriter(stderr);
RlistWrite(w, expargs);
FileWriterDetach(w);
}
fprintf(stderr, ")\n");
rp = expargs;
for (int i = 0; i < argnum; i++)
{
printf(" arg[%d] range %s\t", i, fncall_type->args[i].pattern);
if (rp != NULL)
{
Writer *w = FileWriter(stdout);
RvalWrite(w, rp->val);
FileWriterDetach(w);
rp = rp->next;
}
else
{
printf(" ? ");
}
printf("\n");
}
FatalError(ctx, "Bad arguments");
}
return (*fncall_type->impl) (ctx, policy, fp, expargs);
}
开发者ID:bahamat,项目名称:cfengine-core,代码行数:59,代码来源:fncall.c
示例2: main
int main(int argc, char *argv[])
{
EvalContext *ctx = EvalContextNew();
GenericAgentConfig *config = CheckOpts(ctx, argc, argv);
GenericAgentConfigApply(ctx, config);
GenericAgentDiscoverContext(ctx, config);
Policy *policy = GenericAgentLoadPolicy(ctx, config);
if (!policy)
{
Log(LOG_LEVEL_ERR, "Input files contain errors.");
exit(EXIT_FAILURE);
}
if (SHOWREPORTS)
{
ShowPromises(policy->bundles, policy->bodies);
}
switch (config->agent_specific.common.policy_output_format)
{
case GENERIC_AGENT_CONFIG_COMMON_POLICY_OUTPUT_FORMAT_CF:
{
Policy *output_policy = ParserParseFile(config->input_file, config->agent_specific.common.parser_warnings,
config->agent_specific.common.parser_warnings_error);
Writer *writer = FileWriter(stdout);
PolicyToString(policy, writer);
WriterClose(writer);
PolicyDestroy(output_policy);
}
break;
case GENERIC_AGENT_CONFIG_COMMON_POLICY_OUTPUT_FORMAT_JSON:
{
Policy *output_policy = ParserParseFile(config->input_file, config->agent_specific.common.parser_warnings,
config->agent_specific.common.parser_warnings_error);
JsonElement *json_policy = PolicyToJson(output_policy);
Writer *writer = FileWriter(stdout);
JsonWrite(writer, json_policy, 2);
WriterClose(writer);
JsonDestroy(json_policy);
PolicyDestroy(output_policy);
}
break;
case GENERIC_AGENT_CONFIG_COMMON_POLICY_OUTPUT_FORMAT_NONE:
break;
}
GenericAgentConfigDestroy(config);
EvalContextDestroy(ctx);
}
开发者ID:nperron,项目名称:core,代码行数:52,代码来源:cf-promises.c
示例3: QString
bool ValidatorGenerator::generate() const
{
// Writes each files
QString output = QString(VALIDATOR_HEADER_TEMPLATE).arg(name.toUpper()).arg(name);
FileWriter(dstDir.filePath(name.toLower() + "validator.h")).write(output, false);
output = QString(VALIDATOR_IMPL_TEMPLATE).arg(name.toLower()).arg(name);
FileWriter(dstDir.filePath(name.toLower() + "validator.cpp")).write(output, false);
// Updates the project file
ProjectFileGenerator progen(dstDir.filePath("helpers.pro"));
QStringList files;
files << name.toLower() + "validator.h" << name.toLower() + "validator.cpp";
return progen.add(files);
}
开发者ID:CasyWang,项目名称:treefrog-framework,代码行数:15,代码来源:validatorgenerator.cpp
示例4: WriteReleaseIdFile
/**
* @brief Writes a file with a contained release ID based on git SHA,
* or file checksum if git SHA is not available.
* @param filename the release_id file
* @param dirname the directory to checksum or get the Git hash
* @return True if successful
*/
static bool WriteReleaseIdFile(const char *filename, const char *dirname)
{
char release_id[GENERIC_AGENT_CHECKSUM_SIZE];
bool have_release_id =
GeneratePolicyReleaseID(release_id, sizeof(release_id), dirname);
if (!have_release_id)
{
return false;
}
int fd = creat(filename, 0600);
if (fd == -1)
{
Log(LOG_LEVEL_ERR, "While writing policy release ID file '%s', could not create file (creat: %s)", filename, GetErrorStr());
return false;
}
JsonElement *info = JsonObjectCreate(3);
JsonObjectAppendString(info, "releaseId", release_id);
Writer *w = FileWriter(fdopen(fd, "w"));
JsonWrite(w, info, 0);
WriterClose(w);
JsonDestroy(info);
Log(LOG_LEVEL_VERBOSE, "Saved policy release ID file '%s'", filename);
return true;
}
开发者ID:nishesj,项目名称:core,代码行数:38,代码来源:generic_agent.c
示例5: WritePolicyValidatedFile
/**
* @brief Writes a file with a contained timestamp to mark a policy file as validated
* @param filename the filename
* @return True if successful.
*/
static bool WritePolicyValidatedFile(ARG_UNUSED const GenericAgentConfig *config, const char *filename)
{
if (!MakeParentDirectory(filename, true))
{
Log(LOG_LEVEL_ERR, "While writing policy validated marker file '%s', could not create directory (MakeParentDirectory: %s)", filename, GetErrorStr());
return false;
}
int fd = creat(filename, 0600);
if (fd == -1)
{
Log(LOG_LEVEL_ERR, "While writing policy validated marker file '%s', could not create file (creat: %s)", filename, GetErrorStr());
return false;
}
JsonElement *info = JsonObjectCreate(3);
JsonObjectAppendInteger(info, "timestamp", time(NULL));
Writer *w = FileWriter(fdopen(fd, "w"));
JsonWrite(w, info, 0);
WriterClose(w);
JsonDestroy(info);
Log(LOG_LEVEL_VERBOSE, "Saved policy validated marker file '%s'", filename);
return true;
}
开发者ID:nishesj,项目名称:core,代码行数:32,代码来源:generic_agent.c
示例6: GenerateAvahiConfig
static int GenerateAvahiConfig(const char *path)
{
FILE *fout;
Writer *writer = NULL;
fout = safe_fopen(path, "w+");
if (fout == NULL)
{
Log(LOG_LEVEL_ERR, "Unable to open '%s'", path);
return -1;
}
writer = FileWriter(fout);
fprintf(fout, "<?xml version=\"1.0\" standalone='no'?>\n");
fprintf(fout, "<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n");
XmlComment(writer, "This file has been automatically generated by cf-serverd.");
XmlStartTag(writer, "service-group", 0);
FprintAvahiCfengineTag(fout);
XmlStartTag(writer, "service", 0);
XmlTag(writer, "type", "_cfenginehub._tcp",0);
DetermineCfenginePort();
XmlStartTag(writer, "port", 0);
WriterWriteF(writer, "%d", CFENGINE_PORT);
XmlEndTag(writer, "port");
XmlEndTag(writer, "service");
XmlEndTag(writer, "service-group");
fclose(fout);
return 0;
}
开发者ID:maciejmrowiec,项目名称:core,代码行数:28,代码来源:cf-serverd-functions.c
示例7: GenerateAvahiConfig
static int GenerateAvahiConfig(const char *path)
{
FILE *fout;
Writer *writer = NULL;
fout = fopen(path, "w+");
if (fout == NULL)
{
CfOut(cf_error, "", "Unable to open %s", path);
return -1;
}
writer = FileWriter(fout);
fprintf(fout, "<?xml version=\"1.0\" standalone='no'?>\n");
fprintf(fout, "<!DOCTYPE service-group SYSTEM \"avahi-service.dtd\">\n");
XmlComment(writer, "This file has been automatically generated by cf-serverd.");
XmlStartTag(writer, "service-group", 0);
#ifdef HAVE_NOVA
fprintf(fout,"<name replace-wildcards=\"yes\" >CFEngine Enterprise %s Policy Hub on %s </name>\n", Version(), "%h");
#else
fprintf(fout,"<name replace-wildcards=\"yes\" >CFEngine Community %s Policy Server on %s </name>\n", Version(), "%h");
#endif
XmlStartTag(writer, "service", 0);
XmlTag(writer, "type", "_cfenginehub._tcp",0);
DetermineCfenginePort();
XmlTag(writer, "port", STR_CFENGINEPORT, 0);
XmlEndTag(writer, "service");
XmlEndTag(writer, "service-group");
fclose(fout);
return 0;
}
开发者ID:cf-gary,项目名称:core,代码行数:30,代码来源:cf-serverd-functions.c
示例8: XmlManual
void XmlManual(const char *mandir, FILE *fout)
{
Writer *writer = NULL;
int i;
SubTypeSyntax *st = NULL;
MANUAL_DIRECTORY = (char *) mandir;
AddSlash(MANUAL_DIRECTORY);
writer = FileWriter(fout);
/* XML HEADER */
XmlComment(writer, "AUTOGENERATED SYNTAX DOCUMENTATION BY CF-KNOW");
WriterWrite(writer, "\n");
/* START XML ELEMENT -- SYNTAX-DOCUMENTATION */
XmlStartTag(writer, XMLTAG_DOC_ROOT, 0);
/* SPECIAL VARIABLES */
XmlStartTag(writer, XMLTAG_VARSCOPES_ROOT, 0);
XmlExportVariables(writer, "const");
XmlExportVariables(writer, "edit");
XmlExportVariables(writer, "match");
XmlExportVariables(writer, "mon");
XmlExportVariables(writer, "sys");
XmlExportVariables(writer, "this");
XmlEndTag(writer, XMLTAG_VARSCOPES_ROOT);
/* SPECIAL FUNCTIONS */
XmlStartTag(writer, XMLTAG_FUNCTIONS_ROOT, 0);
for (i = 0; CF_FNCALL_TYPES[i].name != NULL; i++)
{
XmlExportFunction(writer, CF_FNCALL_TYPES[i]);
}
XmlEndTag(writer, XMLTAG_FUNCTIONS_ROOT);
/* CONTROL */
XmlStartTag(writer, XMLTAG_CONTROLS_ROOT, 0);
for (i = 0; CF_ALL_BODIES[i].btype != NULL; i++)
{
XmlExportControl(writer, CF_ALL_BODIES[i]);
}
XmlEndTag(writer, XMLTAG_CONTROLS_ROOT);
/* PROMISE TYPES */
XmlStartTag(writer, XMLTAG_PROMISETYPES_ROOT, 0);
for (i = 0; i < CF3_MODULES; i++)
{
st = CF_ALL_SUBTYPES[i];
XmlExportPromiseType(writer, st);
}
XmlEndTag(writer, XMLTAG_PROMISETYPES_ROOT);
/* END XML ELEMENT -- SYNTAX-DOCUMENTATION */
XmlEndTag(writer, XMLTAG_DOC_ROOT);
WriterClose(writer);
}
开发者ID:joegen,项目名称:sipx-externals,代码行数:58,代码来源:export_xml.c
示例9: time
Policy *GenericAgentLoadPolicy(EvalContext *ctx, GenericAgentConfig *config)
{
config->policy_last_read_attempt = time(NULL);
StringSet *parsed_files = StringSetNew();
StringSet *failed_files = StringSetNew();
Policy *policy = LoadPolicyFile(ctx, config, config->input_file, parsed_files, failed_files);
if (StringSetSize(failed_files) > 0)
{
Log(LOG_LEVEL_ERR, "There are syntax errors in policy files");
exit(EXIT_FAILURE);
}
StringSetDestroy(parsed_files);
StringSetDestroy(failed_files);
{
Seq *errors = SeqNew(100, PolicyErrorDestroy);
if (PolicyCheckPartial(policy, errors))
{
if (!config->bundlesequence && (PolicyIsRunnable(policy) || config->check_runnable))
{
Log(LOG_LEVEL_VERBOSE, "Running full policy integrity checks");
PolicyCheckRunnable(ctx, policy, errors, config->ignore_missing_bundles);
}
}
if (SeqLength(errors) > 0)
{
Writer *writer = FileWriter(stderr);
for (size_t i = 0; i < errors->length; i++)
{
PolicyErrorWrite(writer, errors->data[i]);
}
WriterClose(writer);
exit(EXIT_FAILURE); // TODO: do not exit
}
SeqDestroy(errors);
}
if (LogGetGlobalLevel() >= LOG_LEVEL_VERBOSE)
{
ShowContext(ctx);
}
if (policy)
{
VerifyPromises(ctx, policy, config);
}
return policy;
}
开发者ID:nperron,项目名称:core,代码行数:56,代码来源:generic_agent.c
示例10: WaitForSingleObject
void ArrayStringCount::writeToDisk(std::string& file_name)
{
WaitForSingleObject(gHashWriteSemaphone, INFINITE);
{
FileWriter FW = FileWriter(file_name);
FW.write(this->start, this->start_offset - this->start);
this->total_write += (this->start_offset - this->start);
this->start_offset = this->start;
}
ReleaseSemaphore(gHashWriteSemaphone, 1, NULL);
}
开发者ID:arunxls,项目名称:InvertedLinks,代码行数:11,代码来源:ArrayStringCount.cpp
示例11: DumpErrors
static void DumpErrors(Seq *errs)
{
if (SeqLength(errs) > 0)
{
Writer *writer = FileWriter(stdout);
for (size_t i = 0; i < errs->length; i++)
{
PolicyErrorWrite(writer, errs->data[i]);
}
FileWriterDetach(writer);
}
}
开发者ID:modulistic,项目名称:cfengine__core,代码行数:12,代码来源:policy_test.c
示例12: test_empty_file_buffer
void test_empty_file_buffer(void **p)
{
global_w = StringWriter();
global_w_closed = false;
Writer *w = FileWriter(NULL);
assert_int_equal(StringWriterLength(global_w), 0);
assert_string_equal(StringWriterData(global_w), "");
WriterClose(w);
WriterClose(global_w);
assert_int_equal(global_w_closed, true);
}
开发者ID:FancsalMelinda,项目名称:core,代码行数:13,代码来源:file_writer_test.c
示例13: test_write_file_buffer
void test_write_file_buffer(void **p)
{
global_w = StringWriter();
Writer *w = FileWriter(NULL);
WriterWrite(w, "123");
assert_int_equal(StringWriterLength(global_w), 3);
assert_string_equal(StringWriterData(global_w), "123");
WriterClose(w);
WriterClose(global_w);
assert_int_equal(global_w_closed, true);
}
开发者ID:FancsalMelinda,项目名称:core,代码行数:14,代码来源:file_writer_test.c
示例14: FileWriter
void Simulation::writeFile(std::string path, int channels, double duration, bool mayApplyMixingMatrix) {
int blocks = (duration*getSr()/block_size)+1;
auto file = FileWriter();
file.open(path.c_str(), sr, channels);
//vectors are guaranteed to be contiguous. Using a vector here guarantees proper cleanup.
std::vector<float> block;
block.resize(channels*getBlockSize());
for(int i = 0; i < blocks; i++) {
getBlock(&block[0], channels, mayApplyMixingMatrix);
unsigned int written= 0;
while(written < getBlockSize()) written += file.write(getBlockSize(), &block[0]);
}
file.close();
}
开发者ID:moshverhavikk,项目名称:libaudioverse,代码行数:14,代码来源:simulation.cpp
示例15: pro
bool ProjectFileGenerator::remove(const QStringList &files)
{
QString output;
QFile pro(filePath);
if (pro.exists()) {
if (pro.open(QIODevice::ReadOnly | QIODevice::Text)) {
output = pro.readAll();
} else {
qCritical("failed to open file: %s", qPrintable(pro.fileName()));
return false;
}
} else {
qCritical("Project file not found: %s", qPrintable(pro.fileName()));
return false;
}
pro.close();
if (files.isEmpty())
return true;
for (QStringListIterator i(files); i.hasNext(); ) {
QString f = QFileInfo(i.next()).fileName();
QString str;
QRegExp rx("*.h");
rx.setPatternSyntax(QRegExp::Wildcard);
if (rx.exactMatch(f)) {
str = "HEADERS += ";
str += f;
str += '\n';
} else {
rx.setPattern("*.cpp");
if (rx.exactMatch(f)) {
str = "SOURCES += ";
str += f;
str += '\n';
}
}
int idx = 0;
if (!str.isEmpty() && (idx = output.indexOf(str)) >= 0 ) {
output.remove(idx, str.length());
}
}
return FileWriter(filePath).write(output, true);
}
开发者ID:Keloran,项目名称:treefrog-framework,代码行数:47,代码来源:projectfilegenerator.cpp
示例16: pro
bool ProjectFileGenerator::add(const QStringList &files)
{
QString output;
QFile pro(filePath);
if (!pro.exists()) {
qCritical("Project file not found: %s", qPrintable(pro.fileName()));
return false;
} else {
if (pro.open(QIODevice::ReadOnly | QIODevice::Text)) {
output = pro.readAll();
} else {
qCritical("failed to open file: %s", qPrintable(pro.fileName()));
return false;
}
}
pro.close();
for (QStringListIterator i(files); i.hasNext(); ) {
const QString &f = i.next();
QString str;
QRegExp rx("*.h");
rx.setPatternSyntax(QRegExp::Wildcard);
if (rx.exactMatch(f)) {
str = "HEADERS += ";
str += f;
str += '\n';
} else {
rx.setPattern("*.cpp");
if (rx.exactMatch(f)) {
str = "SOURCES += ";
str += f;
str += '\n';
}
}
if (!str.isEmpty() && !output.contains(str)) {
if (!output.endsWith('\n')) {
output += '\n';
}
output += str;
}
}
return FileWriter(filePath).write(output, true);
}
开发者ID:deniskin82,项目名称:treefrog-framework,代码行数:46,代码来源:projectfilegenerator.cpp
示例17: tempnam
static Seq *LoadAndCheckString(const char *policy_code)
{
const char *tmp = tempnam(NULL, "cfengine_test");
{
FILE *out = fopen(tmp, "w");
Writer *w = FileWriter(out);
WriterWrite(w, policy_code);
WriterClose(w);
}
Policy *p = ParserParseFile(tmp, PARSER_WARNING_ALL, PARSER_WARNING_ALL);
assert_true(p);
Seq *errs = SeqNew(10, PolicyErrorDestroy);
PolicyCheckPartial(p, errs);
unlink(tmp);
return errs;
}
开发者ID:modulistic,项目名称:cfengine__core,代码行数:21,代码来源:policy_test.c
示例18: Mesh
bool MeshManager::convertMeshToNativeFormat(const String& name)
{
auto mesh = Mesh();
if (!MeshFormatRegistry::loadMeshFile(Mesh::MeshDirectory + name, mesh))
{
LOG_ERROR << "Failed converting mesh: " << name;
return false;
}
try
{
auto file = FileWriter();
fileSystem().open(Mesh::MeshDirectory + name + Mesh::MeshExtension, file);
file.write(mesh);
}
catch (const Exception& e)
{
LOG_ERROR << name << " - " << e;
return false;
}
return true;
}
开发者ID:savant-nz,项目名称:carbon,代码行数:23,代码来源:MeshManager.cpp
示例19: GetPendingReportsJsonFilepath
void FPendingReports::Save() const
{
auto PendingReportsPath = GetPendingReportsJsonFilepath();
// Ensure directory structure exists
FPlatformFileManager::Get().GetPlatformFile().CreateDirectoryTree(*FPaths::GetPath(PendingReportsPath));
FJsonReportArray JsonReports;
for (auto Path : Reports)
{
JsonReports.Push(MakeShareable(new FJsonValueString(Path)));
}
TSharedRef<FJsonObject> JsonRootObject = MakeShareable(new FJsonObject);
JsonRootObject->SetArrayField(ReportsArrayFieldName, JsonReports);
TUniquePtr<FArchive> FileWriter(IFileManager::Get().CreateFileWriter(*PendingReportsPath));
if (!FileWriter)
{
UE_LOG(CrashReportClientLog, Warning, TEXT("Failed to save pending reports JSON file"));
return;
}
FJsonSerializer::Serialize(JsonRootObject, FPrettyJsonWriter::Create(FileWriter.Get()));
}
开发者ID:RandomDeveloperM,项目名称:UE4_Hairworks,代码行数:24,代码来源:PendingReports.cpp
示例20: CFTestD_Help
void CFTestD_Help()
{
Writer *w = FileWriter(stdout);
WriterWriteHelp(w, "cf-testd", OPTIONS, HINTS, true, NULL);
FileWriterDetach(w);
}
开发者ID:kkaempf,项目名称:core,代码行数:6,代码来源:cf-testd.c
注:本文中的FileWriter函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论