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); //这句必须执行

	//开始写第二行
	
	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表格打开就能正常显示了,如图:



  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值