c语言写csv

csv文件格式其实就是字符串之间是用tab(即"\t")分隔的,每行末尾必须都是以换行符结束,知道这个原理就可以按照写txt文件一样的方式写了,只要写好之后用excel表格打开就可以了

 

下面用c语言文件操作函数写一个简单的例子:

// test.cpp : 定义控制台应用程序的入口点。
//
 
#include "stdafx.h"
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
 
typedef int int32;
 
enum  eCsvWriteMode
{
    ECWM_ONELINE=1,
    ECWM_OTHERLINE,
};
 
#define ERR_RETURN(STR,RET) \
    printf(STR); \
    printf("\n"); \
    return(RET);
 
 
 
 int32 putString2Csv(char str[],char filename[],int mode)
{
    FILE *_fp;
    //try to open file
    if ((_fp=fopen(filename,"a"))==NULL)
    {
        ERR_RETURN("fopen called error",-1);
    }
 
    int _mode=mode;
 
    switch(_mode)
    {
    case ECWM_ONELINE:
        {
            fputs(str,_fp);
            fputs("\t",_fp);            
        }break;
    case ECWM_OTHERLINE:
        {
            fputs("\n",_fp);
        }break;
    default:break;
    }
    if (fclose(_fp) !=0)
    {
        ERR_RETURN("fclose called error",-1);
    }
 
    return 1;
}
 
int _tmain(int argc, _TCHAR* argv[])
{
    
    //开始写第一行
    for (int i=0;i<5;++i)
    {
        char strtemp[256];
        sprintf(strtemp,"%s%d","天策",i);
        putString2Csv(strtemp,"..//..//test.txt",ECWM_ONELINE);    
    }
    putString2Csv("","..//..//test.txt",ECWM_OTHERLINE); //这句必须执行 ,"..//..//test.txt" 是根据自己的需要来写文件的目录
 
    //开始写第二行
    
    for (int i=0;i<5;++i)
    {
        char strtemp[256];
        sprintf(strtemp,"%s%d","血公子",i);
        putString2Csv(strtemp,"..//..//test.txt",ECWM_ONELINE);    
    }
    putString2Csv("","..//..//test.txt",ECWM_OTHERLINE); //这句必须执行
    system("pause");
    return 0;
}

然后将写好的test.txt文件用excel表格打开就能正常显示了,如图:

 

原文地址: https://blog.csdn.net/dai_jing/article/details/30721659

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值