コード例 #1
0
ファイル: wbExport.cpp プロジェクト: sujesha/libwb
static inline void wbExportCSV_setFile(wbExportCSV_t csv, const char *path) {
  if (csv != NULL) {
    if (wbExportCSV_getFile(csv) != NULL) {
      wbFile_delete(wbExportCSV_getFile(csv));
    }
    if (path != NULL) {
      wbExportCSV_getFile(csv) = wbFile_open(path, "w+");
    } else {
      wbExportCSV_getFile(csv) = NULL;
    }
  }

  return;
}
コード例 #2
0
ファイル: wbExport.cpp プロジェクト: abduld/libwb
static inline void wbExportCSV_write(wbExportCSV_t csv, void *data,
                                     int rows, int columns, char sep,
                                     wbType_t type) {
  int ii, jj;
  wbFile_t file;
  FILE *handle;
  char seperator[2];

  if (csv == nullptr || wbExportCSV_getFile(csv) == nullptr) {
    return;
  }

  file = wbExportCSV_getFile(csv);

  handle = wbFile_getFileHandle(file);

  if (handle == nullptr) {
    return;
  }

  if (sep == '\0') {
    seperator[0] = ',';
  } else {
    seperator[0] = sep;
  }
  seperator[1] = '\0';

  for (ii = 0; ii < rows; ii++) {
    for (jj = 0; jj < columns; jj++) {
      if (type == wbType_integer) {
        int elem = ((int *)data)[ii * columns + jj];
        fprintf(handle, "%d", elem);
      } else if (type == wbType_ubit8) {
        int elem = ((unsigned char *)data)[ii * columns + jj];
        fprintf(handle, "%d", elem);
      } else {
        wbReal_t elem = ((wbReal_t *)data)[ii * columns + jj];
        fprintf(handle, "%f", elem);
      }
      if (jj == columns - 1) {
        fprintf(handle, "\n");
      } else {
        fprintf(handle, "%s", seperator);
      }
    }
  }

  return;
}
コード例 #3
0
ファイル: wbExport.cpp プロジェクト: sujesha/libwb
static inline wbExportCSV_t wbExportCSV_new(void) {
  wbExportCSV_t csv;

  csv = wbNew(struct st_wbExportCVS_t);

  wbExportCSV_getFile(csv) = NULL;
  wbExportCSV_setColumnCount(csv, -1);
  wbExportCSV_setRowCount(csv, -1);
  wbExportCSV_setSeperator(csv, '\0');

  return csv;
}