c语言处理excel表格_c语言一般文件的处理过程

c语言处理excel表格_c语言一般文件的处理过程1写excel是.csv后缀,跳跃间隔符是‘\t’ FILE*fp; fp=fopen(“./test.csv”,”w”);//写 for(i=0;i<4;i++) fprintf(fp,”%c,%d,%d\n”,chy[i],data[i],d2); fclose(fp);2读指定位置读数,如倒序读数,从末尾向前读数!先看代码!倒序读最后一行的数据#include<bits/stdc++.h>#define

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

思路来源:https://blog.csdn.net/hongzhen91/article/details/57422897

1 写

.csv 是 excel 后缀,跳跃间隔符是 ‘,’

	FILE *fp ;
	fp = fopen("./test.csv","w") ; // 写 
	for (i=0 ; i<4 ; i++)
		fprintf(fp,"%c,%d,%d\n", chy[i], data[i], d2) ;
	fclose(fp);

c语言处理excel表格_c语言一般文件的处理过程

2 读

指定位置读数,如倒序读数,从末尾向前 ( 向着开头 ) 读数!

先看 代码!

倒序读 最后一行的数据

#include<bits/stdc++.h> 
#define num 20
using namespace std;

void writeExcel()
{ 
   
	char chy[4]={ 
    'x' ,'a' ,'h','w' }, ch, t;
	int data[4]={ 
    1 , 3 , 6 ,9	}, d1 = -1, d2 = 5;
	int i ;
	FILE *fp ;
	fp = fopen("./test.csv","w") ; // 写 
	for (i=0 ; i<4 ; i++)
		fprintf(fp,"%c,%d,%d\n", chy[i], data[i], 5) ;
	fclose(fp);
	
	cout << "读:" << endl; 
	fp = fopen("./test.csv","r") ; // 读 
	cout << "d1 = " << d1 << endl;
	cout << "ftell(fp) = " << ftell(fp) << endl;
	fseek(fp, 0L, 2); // 末尾 
	cout << "ftell(fp) = " << ftell(fp) << endl << endl;
	
	fseek(fp, -3L, 1); // 向前移动 3L 
	cout << "ftell(fp) = " << ftell(fp) << endl;
	fscanf(fp, "%d", &d1); // 5
	cout << d1 << endl;
	cout << "ftell(fp) = " << ftell(fp) << endl << endl;
	
	fseek(fp, -3L, 1);
	cout << "ftell(fp) = " << ftell(fp) << endl;
	fscanf(fp, "%d", &d1); // 9
	cout << d1 << endl;
	cout << "ftell(fp) = " << ftell(fp) << endl<< endl;
	
	fscanf(fp, "%c", &ch); // 9后面的',' 
	cout << ch << endl;
	cout << "ftell(fp) = " << ftell(fp) << endl<< endl;
	
	fseek(fp, -4L, 1);
	cout << "ftell(fp) = " << ftell(fp) << endl;
	fscanf(fp, "%c", &ch); // w 
	cout << ch << endl;
	cout << "ftell(fp) = " << ftell(fp) << endl<< endl;
	
	fclose(fp);
}

int  main()
{ 
   					
	writeExcel()  ;	
	
	system("pause"); 
	return 0;
}
 

c语言处理excel表格_c语言一般文件的处理过程 c语言处理excel表格_c语言一般文件的处理过程

结果分析可知

首先数据是:%c + ‘,’ + %d + ‘\n’ …
1

字节数总共 29(0 ~ 28),可见数据一共 4 行,每行字节数是 7
第 1 行,0 ~ 6
第 2 行,7 ~ 13
第 3 行,14 ~ 20
第 4 行,21 ~ 27
第 5 行,28 是文本结尾 feof(fp)

2
%c ‘,’ %d ‘\n’ 所占字节都是 1L

字符 w , 9 , 5 , 换行符 \n
指针位置 21 22 23 24 25 26 27

3
顺序读数据
很容易忘了加上 &

fscanf(fp, "%c,%d,%d\n", &ch, &d1, &d2);

逆序读
读完一个数,跳了 1L,再向前跳 3L 才是前一个数

fscanf(fp, "%d\n", &d2);
fseek(fp, -3L, 1);//从当前位置 向着开头的方向移动3L字节
fscanf(fp, "%d\n", &d2);

4
csv 文本结尾是 另开辟一行!
当从头读 或 遍历 数据时,会遍历到最后的 “空行”,具体情况要注意代码细节的不同

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/179230.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • html幻灯片图片切换效果代码,javascript实现图片切换的幻灯片效果源代码[通俗易懂]

    html幻灯片图片切换效果代码,javascript实现图片切换的幻灯片效果源代码[通俗易懂]网页上有许多图片切换的幻灯片效果,它们大多用flash实现,那javascript能不能实现他们呢,当然可以,我自己写了一个,和大家一同分享废话少说,看代码sx.activex.imagefade={init:function(imga,fadeint,fadeoutt){varti=newArray();for(vari=0;iti[i]=newImage();ti[i].src=img…

    2022年7月13日
    14
  • TaintDroid剖析之File & Memiry & Socket级污点传播

    TaintDroid剖析之File & Memiry & Socket级污点传播

    2021年9月17日
    47
  • marquee用到的属性

    marquee用到的属性一、marquee标签的几个重要属性:1.direction:滚动方向(包括4个值:up、down、left、right)说明:up:从下向上滚动;down:从上向下滚动;left:从右向左滚动;

    2022年7月2日
    23
  • JetBrains CLion激活码[在线序列号]

    JetBrains CLion激活码[在线序列号],https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    153
  • HTTP默认端口_http协议使用的端口号

    HTTP默认端口_http协议使用的端口号HTTP默认端口80是http协议的默认端口,是在输入网站的时候其实浏览器(非IE)已经帮你输入协议了,所以你输入http://baidu.com,其实是访问http://baidu.com:80。而8080,一般用与webcahe,完全不一样的两个,比如linux服务器里apache默认跑80端口,而apache-tomcat默认跑8080端口,其实端口没有实际意义只是一个接口,主要是看服务的监听端口。443是https的默认端口端口号标识了一个主机上进行通信的不同的应用程序。 H.

    2022年9月16日
    0
  • Qt 音乐播放器「建议收藏」

    Qt 音乐播放器「建议收藏」一、实现功能:1、读取歌曲文件,实现歌曲的播放;2、采用QtDesigner实现歌曲的暂停和播放,歌曲名列表和当前播放歌曲名的显示,上一曲和下一曲歌曲的更换,播放模式的设置,音量的改变,歌曲播放进度的改变;3、读取歌词文件,实现歌词的显示;4、利用QSetting增加歌曲文件和歌词文件的设置功能;5、界面汉化;6、使用CSS进

    2022年4月30日
    63

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号