mvvdio.cc

来自「http://gams.cam.nist.gov/acmd/Staff/RPoz」· CC 代码 · 共 125 行

CC
125
字号
#include <iostream>                                 #include <stdio.h>#include "mvvd.h"#include "mvvi.h"#include "iotext.h"int writetxtfile_vec(const char *filename, const MV_Vector_double &A){    FILE *in_file;    in_file = fopen(filename, "w");    if (in_file == NULL)    {       fprintf(stderr,"Cannot open file:  %s\n", filename );       exit(1);    }    int N = A.size();    for (int i=0; i<N; i++)    {        fprintf(in_file, "%g\n", A(i));    }    fclose(in_file);    return 0;}int readtxtfile_vec(const char *filename, MV_Vector_double *Aptr){    FILE *in_file;    char line[82];    char *line_ptr;    int count=0;    double tmp;    MV_Vector_double &A = *Aptr;    in_file = fopen( filename, "r");    if (in_file == NULL)    {       std::cerr << "Cannot open file: " << filename << "\n";       exit(1);    }    // one vector element per line    while ( line_ptr = fgets(line, 82, in_file))        if (sscanf(line_ptr, "%lg", &tmp) >= 1) count++;    rewind(in_file);    A.newsize(count);    for (int i=0; i< count; i++)    {        if (fscanf(in_file, "%lg", &A(i)) < 1)        {            printf("Error reading %s\n", filename);            exit(1);        }    }    fclose(in_file);    return 0;}int writetxtfile_vec(const char *filename, const MV_Vector_int &A){    FILE *in_file;    in_file = fopen(filename, "w");    if (in_file == NULL)    {       fprintf(stderr,"Cannot open file:  %s\n", filename );       exit(1);    }    int N = A.size();    for (int i=0; i<N; i++)    {        fprintf(in_file, "%d\n", A(i));    }    fclose(in_file);    return 0;}int readtxtfile_vec(const char *filename, MV_Vector_int *Aptr){    FILE *in_file;    char line[82];    char *line_ptr;    int count=0;    MV_Vector_int &A = *Aptr;    int tmp;    in_file = fopen( filename, "r");    if (in_file == NULL)    {       std::cerr << "Cannot open file: " << filename << "\n";       exit(1);    }    // one vector element per line    while ( line_ptr = fgets(line, 82, in_file))        if (sscanf(line_ptr, "%d", &tmp) >= 1) count++;    rewind(in_file);    A.newsize(count);    for (int i=0; i< count; i++)    {        if (fscanf(in_file, "%d", &A(i)) < 1)        {            printf("Error reading %s\n", filename);            exit(1);        }    }    fclose(in_file);    return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?