int test_csv_IO() { double x[10]; double y[10]; double z[10]; double mat[30]; int i,j; FILE* csvfile; /* write a csv file */ csvfile=fopen("csv_file.dat","w"); for(i=0;i<10;++i) { x[i]=(double)i; y[i]=(double)i*2; z[i]=(double)i*3; } write_csv_file(csvfile,10,x); write_csv_file(csvfile,10,y); write_csv_file(csvfile,10,z); fclose(csvfile); /* read the csv file */ for(i=0;i<30;++i) { mat[i]=0; } csvfile=fopen("csv_file.dat","r"); read_csv_file(csvfile,3,10,mat); /* test if they are equal */ for(i=0;i<3;++i) { for(j=0;j<10;++j) { if(mat[i*(int)10+j] != (double)j*(i+1) ) return EXIT_FAILURE; } } fclose(csvfile); return EXIT_SUCCESS; }
void main() { char *inputBuffer; char *outputBuffer; size_t inputSize = load_csv_to_buffer(INPUT_FILEPATH, &inputBuffer); outputBuffer = malloc(NUM_COORDINATES * MAX_OUTPUT_LINE_SIZE * sizeof(char)); // convert the csv file size_t outputSize = convert_to_csv(inputBuffer, &outputBuffer); write_csv_file(OUTPUT_FILEPATH, outputBuffer, outputSize); printf("%s", outputBuffer); free(inputBuffer); free(outputBuffer); }
int main() { char *fileBuffer; char *csvBuffer; size_t fileLength = load_plt_to_buffer("000/20081023025304.plt", &fileBuffer); // printf("%s", fileBuffer); int numCoordinates = count_GPS_coordinates(fileBuffer); csvBuffer = malloc(numCoordinates * MAX_LINE_SIZE * sizeof(char)); int fileSize = convert_to_csv(fileBuffer, numCoordinates, &csvBuffer); write_csv_file(csvBuffer, fileSize); printf("%s", csvBuffer); free(fileBuffer); free(csvBuffer); return 0; }
void write_diag_data_to_file(hanson_data* diag_data,const char* file_name) { int i; double* num_samples; double* mean; double* std_dvn; FILE *outfile; outfile=fopen(file_name,"w"); /* assign memory */ num_samples=(double*)malloc(diag_data->num_dims*sizeof(double)); mean=(double*)malloc(diag_data->num_dims*sizeof(double)); std_dvn=(double*)malloc(diag_data->num_dims*sizeof(double)); /* calculate the mean and standard deviation */ for(i=0;i<diag_data->num_dims;++i) { num_samples[i]=(double)diag_data->num_ents; mean[i]=diag_data->sum_x[i]/num_samples[i]; std_dvn[i]=sqrt(diag_data->sum_x2[i]/num_samples[i]-mean[i]*mean[i]); } /* write the data */ write_csv_file(outfile,diag_data->num_dims,diag_data->start_point); write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x); write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x2); write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x3dpsi); write_csv_file(outfile,diag_data->num_dims,diag_data->sum_x2dpsi); write_csv_file(outfile,diag_data->num_dims,diag_data->sum_xdpsi); write_csv_file(outfile,diag_data->num_dims,diag_data->sum_dpsi); write_csv_file(outfile,diag_data->num_dims,num_samples); write_csv_file(outfile,diag_data->num_dims,diag_data->hanson); write_csv_file(outfile,diag_data->num_dims,mean); write_csv_file(outfile,diag_data->num_dims,std_dvn); /* free memory */ free(num_samples); free(mean); free(std_dvn); fclose(outfile); }