本文整理汇总了C++中close_files函数的典型用法代码示例。如果您正苦于以下问题:C++ close_files函数的具体用法?C++ close_files怎么用?C++ close_files使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了close_files函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char **argv)
{
int fd_rd = -1, fd_wr = -1;
test_init(argc, argv);
snprintf(filename_rd, sizeof(filename_rd), "%s.0", filename);
snprintf(filename_wr, sizeof(filename_wr), "%s.1", filename);
if (open_files(&fd_rd, &fd_wr)) {
pr_err("Can't open files\n");
return -1;
}
if (fcntl(fd_rd, F_SETLEASE, F_RDLCK) < 0 ||
fcntl(fd_wr, F_SETLEASE, F_WRLCK) < 0) {
pr_perror("Can't set leases\n");
close_files(fd_rd, fd_wr);
return -1;
}
test_daemon();
test_waitsig();
if (check_lease_type(fd_rd, F_RDLCK))
fail("Read lease check failed\n");
else if (check_lease_type(fd_wr, F_WRLCK))
fail("Write lease check failed\n");
else
pass();
close_files(fd_rd, fd_wr);
return 0;
}
开发者ID:0x7f454c46,项目名称:criu,代码行数:33,代码来源:file_lease00.c
示例2: main
int main(int argc,char *argv[])
{
//check number of command line arguments
if(argc < 3) {
printf("usage: %s infile outfile [loader]\n",argv[0]);
return(-1);
}
//save pointers to the filename
in_filename = argv[1];
out_filename = argv[2];
if(argc > 3) {
loader_filename = argv[3];
}
//open all necessary files
in = fopen(in_filename,"rb");
out = fopen(out_filename,"wb");
loader = fopen(loader_filename,"rb");
//check for errors
if(in == 0 || out == 0 || loader == 0) {
if(in == 0) printf("error opening input file '%s'\n",in_filename);
if(out == 0) printf("error opening output file '%s'\n",out_filename);
if(loader == 0) printf("error opening loader '%s'\n",loader_filename);
close_files();
return(1);
}
convert_rom();
//close all open files and exit
close_files();
return(0);
}
开发者ID:holodnak,项目名称:nrom2unrom,代码行数:35,代码来源:nrom2unrom.c
示例3: main
int
main(int argc, char *argv[])
{
int file_count, opt;
char *opath = NULL;
int targetfd;
struct file_stripe_info *finfo;
while ((opt = getopt(argc, argv, "o:")) != -1) {
switch (opt) {
case 'o':
opath = optarg;
break;
default:
usage(argv[0]);
return -1;
}
}
file_count = argc - optind;
if (!opath || !file_count) {
usage(argv[0]);
return -1;
}
finfo = validate_and_open_files(&argv[optind], file_count);
if (!finfo)
goto err;
targetfd = open(opath, O_RDWR|O_CREAT, finfo->mode);
if (targetfd < 0)
goto err;
if (generate_file(targetfd, finfo) < 0)
goto err;
if (fsync(targetfd) < 0)
fprintf(stderr, "ERROR: %s\n", strerror(errno));
if (close(targetfd) < 0)
fprintf(stderr, "ERROR: %s\n", strerror(errno));
close_files(finfo);
free(finfo);
return 0;
err:
if (finfo) {
close_files(finfo);
free(finfo);
}
return -1;
}
开发者ID:2510,项目名称:glusterfs,代码行数:55,代码来源:stripe-merge.c
示例4: QuantumYield
/* Print the quantum yield (QY) values obtained by using the 2MM measurement
* method and by using the 3MM method. 2MM will be obtained for each of
* IN_BEAM_DATA and OUT_DATA that are provided, 3MM will be obtained only if
* both are provided. LMIN, LMAX, PMIN, and PMAX set bounds on peak integration.
* Emission correction for the sensitivity of the detector is specified as
* EMISSION_CORRECTION, and can be either "default" or "quanta" or any prefix
* of them.
*/
void QuantumYield(char* solvent_data_file = "",
char* in_beam_data = "",
int lmin = 0, int lmax = 0,
int pmin = 0, int pmax = 0,
char* out_beam_data = "",
char* emission_correction = "d") {
double QY;
double error;
FILE* solvent = open_data(solvent_data_file);
FILE* in_data = open_data(in_beam_data);
FILE* out_data = open_data(out_beam_data);
FILE* correction = open_correction(emission_correction);
if (!solvent || (!in_data && !out_data)) {
printf("Invalid data file.\n");
printf("Arguments: reference data file, in-beam data file, lmin, lmax, pmin, pmax, indirect data file, correction name.\n");
close_files(solvent, in_data, out_data, correction);
return;
}
if (is_corr) {
read_correction(correction);
}
get_L_a(solvent, lmin, lmax);
if (in_data) {
QY = TwoMMQY(in_data, lmin, lmax, pmin, pmax);
error = get_error();
printf("\n\nL_a %f\nL_b %f\nP_b %f\n2MMQY %f +/- %f\n", L_a, L_b, P_b,
QY, error);
printf("L_a - L_b = %f\n", L_a - L_b);
if (out_data) {
QY = ThreeMMQY(out_data, lmin, lmax, pmin, pmax);
error = get_error();
printf("L_c %f\nP_c %f\n3MMQY %f +/- %f\n", L_c, P_c, QY, error);
printf("L_a - L_c = %f\n", L_a - L_c);
}
}
if (out_data) {
rewind(out_data);
L_b = 0;
P_b = 0;
QY = TwoMMQY(out_data, lmin, lmax, pmin, pmax);
error = get_error();
printf("2MMQY (out data) %f +/- %f\n", QY, error);
}
printf("\n");
close_files(solvent, in_data, out_data, correction);
}
开发者ID:lbignell,项目名称:WbLS-Quantum-Yield,代码行数:60,代码来源:QuantumYield.C
示例5: fprintf
int C_Errors::execute()
{
int result;
if (!isOk())
{
fprintf( stderr, _("Class did not initialize properly.\n") );
return( 1 );
}
result=create_files();
if (result) return( result );
result=parse_errors();
if (result) { close_files(); return( result ); }
return( close_files() );
}
开发者ID:rsandila,项目名称:errconv,代码行数:14,代码来源:errc.cpp
示例6: remove_cb
static void remove_cb(GtkWidget * w, gpointer data)
{
vcedit_state *state;
vorbis_comment *comment;
if (!g_strncasecmp(vte.filename, "http://", 7))
return;
state = vcedit_new_state();
pthread_mutex_lock(&vf_mutex);
if (init_files(state) < 0)
{
fail(_("Failed to modify tag"));
goto close;
}
comment = vcedit_comments(state);
vorbis_comment_clear(comment);
if (close_files(state) < 0)
fail(_("Failed to modify tag"));
close:
vcedit_clear(state);
pthread_mutex_unlock(&vf_mutex);
gtk_widget_destroy(window);
}
开发者ID:xdien,项目名称:my_cproject,代码行数:29,代码来源:fileinfo.c
示例7: runReachability
bool runReachability(double* start, double simTime, double wallTimeMs, double startMs)
{
LiftingSettings set;
for (int d = 0; d < NUM_DIMS; ++d)
{
set.init.dims[d].min = start[d];
set.init.dims[d].max = start[d];
}
set.reachTime = simTime;
set.maxRuntimeMilliseconds = wallTimeMs;
set.initialStepSize = set.reachTime / 10;
set.maxRectWidthBeforeError = 100;
set.reachedAtFinalTime = finalState;
set.reachedAtIntermediateTime = intermediateState;
set.restartedComputation = restartedComputation;
open_files(true);
hyperrectangle_to_file(f_initial, &set.init, 0);
bool safe = face_lifting_iterative_improvement(startMs, &set);
close_files(true);
return safe;
}
开发者ID:abditag2,项目名称:maximal-controller,代码行数:28,代码来源:quancer.c
示例8: fortran_prescanner_process
static void fortran_prescanner_process(prescanner_t* prescanner)
{
file_lines = NULL;
last_line = file_lines;
// Load all the file into memory
read_lines(prescanner);
// Cut lines to be of width 'prescanner.width'
cut_lines(prescanner);
// We used to remove comments here but it is better to convert them
convert_whole_line_comments();
// Join continuated lines
join_continuated_lines(prescanner);
#if 0
// Lines that were not appended any continuation line have not been trimmed
// their inline comments
remove_inlined_comments();
#endif
convert_lines(prescanner);
if (!prescanner->append)
{
continuate_lines(prescanner);
}
print_lines(prescanner);
close_files(prescanner);
}
开发者ID:drpicox,项目名称:mcxx,代码行数:34,代码来源:prescanner-process.c
示例9: spell_check
int spell_check(struct sc_config const *config)
{
int i = 0;
int ret = -1;
char ch;
char buf[MAX_WORD_LENGTH];
FILE *files[FILE_COUNT];
if (open_files(config, files))
goto ERROR;
while ((ch = getc(files[FILE_DOC])) != EOF) {
if (isspace(ch)) {
buf[i] = '\0';
if (i != 0) {
if (handle_word(buf, files, config))
goto ERROR;
i = 0;
}
fprintf(files[FILE_OUT], "%c", ch);
} else {
buf[i++] = ch;
}
}
ret = 0;
ERROR:
close_files(files);
return ret;
}
开发者ID:ghorbanzade,项目名称:spell-checker,代码行数:29,代码来源:spell-check.c
示例10: main
main(int argc,char *argv[])
{
if (argc<2)
{
puts("\nPouziti: MGFSOUND film.mgf zvuk.wav [i]");
puts("\nnebo: MGFSOUND script.scr");
puts("\nKde _i_ je komprimacni krivka (viz SNDPACK) (default:4)");
exit(0);
}
if (argc>3)
{
sscanf(argv[3],"%d",&difftype);
}
Create_table_16();
if (argc==2)
call_script(argv[1]);
else
{
open_wav(argv[2]);
open_files(argv[1]);
ozvuceni();
}
close_files();
}
开发者ID:svn2github,项目名称:Brany_Skeldalu,代码行数:25,代码来源:MGFSOUND.C
示例11: get_options
static void
get_options(int argc, char *argv[])
{
char ch;
struct stat sb;
i_opt = o_opt = f_opt = v_opt = t_opt = 0;
while ((ch = getopt(argc, argv, "i:o:f:t:v")) != -1) {
switch (ch) {
case 'v':
v_opt = 1;
break;
case 'i':
if ((fmr_fp = fopen(optarg, "rb")) == NULL)
OPEN_ERR_EXIT(optarg);
i_opt = 1;
break;
case 'f': // Fingerprint image list file
if ((img_fp = fopen(optarg, "r")) == NULL)
OPEN_ERR_EXIT(optarg);
f_opt = 1;
break;
case 'o':
if (stat(optarg, &sb) == 0) {
fprintf(stderr,
"File '%s' exists, remove it first.\n", optarg);
exit(EXIT_FAILURE);
}
if ((an2k_fp = fopen(optarg, "wb")) == NULL)
OPEN_ERR_EXIT(optarg);
o_opt = 1;
break;
case 't':
if ((text_fp = fopen(optarg, "r")) == NULL)
OPEN_ERR_EXIT(optarg);
t_opt = 1;
break;
case '?':
default:
usage();
break;
}
}
if ((i_opt && o_opt) == 0) {
usage();
goto err_out;
}
return;
err_out:
close_files();
exit(EXIT_FAILURE);
}
开发者ID:tarzan0820,项目名称:BIOMDI,代码行数:59,代码来源:fmr2an2k.c
示例12: runner_new
struct runner *
runner_new(const char *filename)
{
struct runner *r;
const char *buf;
size_t size;
int err;
SOL_NULL_CHECK(filename, NULL);
r = calloc(1, sizeof(*r));
SOL_NULL_CHECK(r, NULL);
sol_ptr_vector_init(&r->file_readers);
r->parser_client.api_version = SOL_FLOW_PARSER_CLIENT_API_VERSION;
r->parser_client.data = r;
r->parser_client.read_file = read_file;
r->parser = sol_flow_parser_new(&r->parser_client, NULL);
if (!r->parser)
goto error;
r->filename = filename;
r->dirname = strdup(dirname(strdupa(filename)));
r->basename = strdup(basename(strdupa(filename)));
err = read_file(r, r->basename, &buf, &size);
if (err < 0) {
errno = -err;
goto error;
}
r->root_type = sol_flow_parse_buffer(r->parser, buf, size, filename);
if (!r->root_type)
goto error;
close_files(r);
return r;
error:
close_files(r);
runner_del(r);
return NULL;
}
开发者ID:kalyankondapally,项目名称:soletta,代码行数:46,代码来源:runner.c
示例13: regenerate_fds
void regenerate_fds(void)
{
if (no_files == TRUE)
return;
close_files();
open_files();
}
开发者ID:Berrrry,项目名称:trinity-osxnew,代码行数:8,代码来源:fds.c
示例14: pass_two
/* Runs the two-pass assembler. Most of the actual work is done in pass_one()
and pass_two().
*/
int assemble(const char* in_name, const char* tmp_name, const char* out_name) {
FILE *src, *dst;
int err = 0;
SymbolTable* symtbl = create_table(SYMTBL_UNIQUE_NAME);
SymbolTable* reltbl = create_table(SYMTBL_NON_UNIQUE);
if (in_name) {
printf("Running pass one: %s -> %s\n", in_name, tmp_name);
if (open_files(&src, &dst, in_name, tmp_name) != 0) {
free_table(symtbl);
free_table(reltbl);
exit(1);
}
if (pass_one(src, dst, symtbl) != 0) {
err = 1;
}
close_files(src, dst);
}
if (out_name) {
printf("Running pass two: %s -> %s\n", tmp_name, out_name);
if (open_files(&src, &dst, tmp_name, out_name) != 0) {
free_table(symtbl);
free_table(reltbl);
exit(1);
}
fprintf(dst, ".text\n");
if (pass_two(src, dst, symtbl, reltbl) != 0) {
err = 1;
}
fprintf(dst, "\n.symbol\n");
write_table(symtbl, dst);
fprintf(dst, "\n.relocation\n");
write_table(reltbl, dst);
close_files(src, dst);
}
free_table(symtbl);
free_table(reltbl);
return err;
}
开发者ID:harshmujoo,项目名称:proj2,代码行数:49,代码来源:assembler.c
示例15: main
/*
* grpck - verify group file integrity
*/
int main (int argc, char **argv)
{
int errors = 0;
bool changed = false;
/*
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
(void) textdomain (PACKAGE);
process_root_flag ("-R", argc, argv);
OPENLOG ("grpck");
/* Parse the command line arguments */
process_flags (argc, argv);
open_files ();
if (sort_mode) {
gr_sort ();
#ifdef SHADOWGRP
if (is_shadow) {
sgr_sort ();
}
changed = true;
#endif
} else {
check_grp_file (&errors, &changed);
#ifdef SHADOWGRP
if (is_shadow) {
check_sgr_file (&errors, &changed);
}
#endif
}
/* Commit the change in the database if needed */
close_files (changed);
nscd_flush_cache ("group");
/*
* Tell the user what we did and exit.
*/
if (0 != errors) {
if (changed) {
printf (_("%s: the files have been updated\n"), Prog);
} else {
printf (_("%s: no changes\n"), Prog);
}
}
return ((0 != errors) ? E_BAD_ENTRY : E_OKAY);
}
开发者ID:DavidChenLiang,项目名称:study,代码行数:61,代码来源:grpck.c
示例16: print_unity_x
void print_unity_x( project_info_table& info )
{
FILE* arr[UNITY_NUM] = {NULL,};
char fname[MAX_PATH];
for (int i=0; i<UNITY_NUM; ++i)
{
std::string name = util::string::wc2mb( info.project_dir_path.c_str() );
sprintf_s(fname, "%sUnity_%d.cpp", name.c_str() , i+1);
fopen_s(&arr[i], fname, "wt");
if (!arr[i])
{
close_files(arr);
return;
}
fputs("#include \"stdafx.h\"\n\n", arr[i]);
}
typedef vector<std::string>::const_iterator iterator;
int i=0;
for (iterator itr=info.filepath_table.begin(); itr!=info.filepath_table.end(); ++itr)
{
bool val = false;
for( iterator except = g_except_file_table.begin(); except!=g_except_file_table.end(); ++except)
{
if( *except == *itr )
{
val = true;
break;
}
}
if( !val )
fprintf(arr[i], "#include \"%s\"\n", (*itr).c_str());
++i;
if (i>=UNITY_NUM)
i=0;
}
close_files(arr);
}
开发者ID:rodrigobmg,项目名称:choding,代码行数:45,代码来源:all_cpp.cpp
示例17: main
/*
* main - groupadd command
*/
int main (int argc, char **argv)
{
/*
* Get my name so that I can use it to report errors.
*/
Prog = Basename (argv[0]);
(void) setlocale (LC_ALL, "");
(void) bindtextdomain (PACKAGE, LOCALEDIR);
(void) textdomain (PACKAGE);
process_root_flag ("-R", argc, argv);
prefix = process_prefix_flag ("-P", argc, argv);
OPENLOG ("groupadd");
#ifdef WITH_AUDIT
audit_help_open ();
#endif
if (atexit (do_cleanups) != 0) {
fprintf (stderr,
_("%s: Cannot setup cleanup service.\n"),
Prog);
exit (1);
}
/*
* Parse the command line options.
*/
process_flags (argc, argv);
check_perms ();
#ifdef SHADOWGRP
is_shadow_grp = sgr_file_present ();
#endif
/*
* Do the hard stuff - open the files, create the group entries,
* then close and update the files.
*/
open_files ();
if (!gflg) {
if (find_new_gid (rflg, &group_id, NULL) < 0) {
exit (E_GID_IN_USE);
}
}
grp_update ();
close_files ();
nscd_flush_cache ("group");
return E_SUCCESS;
}
开发者ID:fariouche,项目名称:shadow,代码行数:59,代码来源:groupadd.c
示例18: fopen
//------------------------------open_file------------------------------------
int ArchDesc::open_file(bool required, ADLFILE & ADF, const char *action)
{
if (required &&
(ADF._fp = fopen(ADF._name, action)) == NULL) {
printf("ERROR: Cannot open file for %s: %s\n", action, ADF._name);
close_files(1);
return 0;
}
return 1;
}
开发者ID:benbenolson,项目名称:hotspot_9_mc,代码行数:11,代码来源:main.cpp
示例19: process
void process(List *from, List *to)
{
List *l;
/*
** Initialise read
*/
open_for_read(from);
open_for_write(to);
l = read_header(from);
write_header(to,l);
destroy_list(l);
/*
** Process Gels
*/
for (l = read_gel_data(from);
!isNil(l);
l = read_gel_data(from)) {
write_gel_data(to,l);
destroy_list(l);
}
/*
** Process Contigs
*/
for (l = read_contig_data(from);
!isNil(l);
l = read_contig_data(from)) {
write_contig_data(to,l);
destroy_list(l);
}
/*
** Tidy up read
*/
close_files(from);
close_files(to);
}
开发者ID:nathanhaigh,项目名称:staden-trunk,代码行数:43,代码来源:process.c
示例20: open_files
static int open_files(int *fd_rd, int *fd_wr)
{
*fd_rd = open(filename_rd, O_RDONLY | O_CREAT, 0666);
*fd_wr = open(filename_wr, O_WRONLY | O_CREAT, 0666);
if (*fd_rd < 0 || *fd_wr < 0) {
close_files(*fd_rd, *fd_wr);
return -1;
}
return 0;
}
开发者ID:0x7f454c46,项目名称:criu,代码行数:11,代码来源:file_lease00.c
注:本文中的close_files函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论