【白二白】C语言,简单说说创建csv格式文件以及通过数据库的数据导入

拿到了一个需求:前台请求数据批量导出,后台需要通过数据库将数据塞到csv格式的表格里然后给前台下载

对于白二白这种憨憨萌新来说脑袋都有点不够用了。

架构使用Nginx+fastcgi,接口写了一天,需求完成了,趁着下班前的这点时间谢谢简单的csv文件创建好了。

在此特别感谢https://blog.csdn.net/iefenghao/article/details/81272263https://www.runoob.com/cprogramming/c-function-fwrite.html

本身数据库的数据是不带header,所以这里写个简单的头,懂得都懂。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

typedef struct person
{
    char name[20];
    char sex[10];
    char age[10];
}person;

int main()
{
    person sperson[3] = {
        {"a","男","1"},
        {"b","女","2"},
        {"c","秀吉","3"}
    }    

    FILE *fp;

    if(NULL == (fp = fopen("test.txt","w+"))){
        printf("创建文件失败");
        return 0; 
    }
    
    char str[] = "姓名,性别,年龄,";
    fwrite(str,sizeof(str),1,fp);
    fwrite("\n",1,1,fp);
    
    for(int i = 0; i < 3; i++){
        fwrite(sperson[i]->name,sizeof(sperson[i]->name),1,fp);
        fwrite(",",1,1,fp);
        fwrite(sperson[i]->sex,sizeof(sperson[i]->sex),1,fp);
        fwrite(",",1,1,fp);
        fwrite(sperson[i]->age,sizeof(sperson[i]->age),1,fp);
        fwrite("\n",1,1,fp);
    }

    fclose(fp);
    rename("test.txt","test.csv");
    
    return 0;

}

要是用到数据库就加上申请内存空间和释放内存空间啥的就行

用到数据库就是用二级指针创建一个结构体数组,然后用这个数组装n个单条数据

 

另外提一下,在编译之后不报错,但是使用的时候挂掉了,可以用gdb调试core文件找出错点,非常关键的操作。

贴个网址:https://blog.csdn.net/wkd_007/article/details/79757289


版权声明:本文为qq_43246158原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。