所以我有来自CSV的数据,我已将其添加到Struct数组中(如下所示)。现在,我想在另一个CSV文件中输出这些值的最小值和最大值。
typedef struct {
double xvalue;
double yvalue;
double uvalue;
double vvalue;
} flow_data;
我已经打印出这些值,这些值都可以使用,但是我想将其输出到CSV文件中,确切地说是在这里输出的方式。我将如何去做?告诉我有关该程序的更多信息。
flow_data* z = &dataset[ivalueofmaxu];
printf("%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
z = &dataset[ivalueofminu];
printf("%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
z = &dataset[ivalueofmaxv];
printf("%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
z = &dataset[ivalueofminv];
printf("%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
答案 0 :(得分:1)
使用fprintf
代替printf
(<stdio.h>
标头)。
但是首先您需要以写入模式打开所需的文件:
FILE * fp = fopen("testfile.csv", "w");
然后使用指向先前打开的文件的指针,您可以轻松地向其中写入值:
flow_data* z = &dataset[ivalueofmaxu];
fprintf(fp, "%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
z = &dataset[ivalueofminu];
fprintf(fp, "%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
z = &dataset[ivalueofmaxv];
fprintf(fp, "%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
z = &dataset[ivalueofminv];
fprintf(fp, "%.7f, %.7f, %.7f, %.7f\n", z->xvalue, z->yvalue, z->uvalue, z->vvalue);
fclose(fp); // remember to close it after you are done
如您所见,主要区别是带有指向FILE指针的附加参数。
答案 1 :(得分:1)
您可以使用PAYPAL_ID
打印到文件中。
语法是
fprintf
int fprintf(FILE *stream, const char *format, ...)
是文件流。使用*stream
来获取文件流,如下所示。
fopen
答案 2 :(得分:0)
您只需要将输出写入新的CSV文件中,将数据写入CSV文件没有什么特别的,您只需要保留语法(可接受的分隔符是逗号',而不是分号';'。 ),您应该可以。
我建议您使用fprintf
来做到这一点,这里有一个示例。
http://www.cplusplus.com/reference/cstdio/fprintf