既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上物联网嵌入式知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、电子书籍、讲解视频,并且后续会持续更新
需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)
writeExcel() ;
}
#### 运行结果
![写入文件](https://img-blog.csdnimg.cn/img_convert/c1d3e2375b87292b275a3bc7d90ea737.png)
![写入文件](https://img-blog.csdnimg.cn/img_convert/01e29874d7fd9678bfe778b83df86126.png)
### 二、读操作
#### 读取文件
![打开文件](https://img-blog.csdnimg.cn/img_convert/10838b68b3e1113b52c4ca76ce1d0cfb.png)
![读取文件内容](https://img-blog.csdnimg.cn/img_convert/d59284149d58f765b052b58801ba7a68.png)
对于读取Excel文件的操作,使用了文件随机定位函数**fseek()**,它的一般调用格式如下:
fseek(文件指针,位移量,起始位置) ;
\*\*fseek()\*\*参数说明:
位移量
: 指重新定位时的字节偏移数,表示相对于基址的字符数,通常是一个长整型数,可以是整形常量,整形表达式等。如果用整型常量,需要再后面加上字母“L”;如果使用整形表达式需要用“(long)(表达式)”强制转换成长整形。
起始位置
指重新定位时的基准点,也就是基址,用整数或符合常量表示。如下表:
| 整数 | 符号常量 | 对应的起始位置 |
| --- | --- | --- |
| 0 | SEEK\_SET | 文件开头 |
| 1 | SEEK\_CUR | 文件指针的当前位置 |
| 2 | SEEK\_END | 文件末尾 |
例如:
fseek(fp , 10L , 0) ;
具体代码如下:
#include <stdio.h>
void main()
{
FILE *fp;
char filename[40] ;
int i,j ;
float da[6][5] = {0} ;
printf(" 输入文件名: “);
gets(filename);
fp=fopen(filename,“r”); // fp指针指向文件头部
for(i = 0 ;i < 6 ; i++)
for(j = 0 ;j < 5 ; j++)
{
fscanf(fp,”%f",&da[i][j]);
fseek(fp, 5L, SEEK_CUR); /fp指针从当前位置向后移动/
}
for(i = 0 ;i < 6 ; i++)
printf("%f\t%f\t%f\t%f\t%f\t\n",da[i][0],
da[i][1],da[i][2],da[i][3],da[i][4]);
}
#### 运行结果
![运行结果](https://img-blog.csdnimg.cn/img_convert/a4c475447afa76e9a26e32209efa8023.png)
---
**十分抱歉,由于个人疏忽,代码给大家带来麻烦,再次表示抱歉。以上读Excel文件的错误已经解决,代码已经更新,错误的产生是由于fseek( )函数放错了位置,以及其中第二个参数的偏移量的错误,若大家在以后学习中发现读取数据全为0或者读取数据顺序位置不正确,请查阅fseek( )函数的参数使用方法。**
**另外,上述开发是在CodeBlocks中进行的,如果使用Visual Stdio 2010等版本软件,出现闪退问题,是软件自身bug所致,在main( )函数结尾添加"system(“pause”); 或者getchar( ); " 即可解决,对应的VS2010读Excel实例如下:**
---
例程:
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/757e944c9db3d10983421a6a90223a01.png)
读该Excel文件代码如下:
#include <stdio.h>
void main()
{
FILE *fp;
char filename[40] ;
int i,j ;
float da[6][5] = {0} ;
printf(" 输入文件名: “);
gets(filename);
fp=fopen(“as.csv”,“r”);
fseek(fp, 5L, SEEK_SET); // 从文件第二行开始读取
for(i = 0 ;i < 6 ; i++)
for(j = 0 ;j < 5 ; j++)
{
fscanf(fp,”%f",&da[i][j]);
fseek(fp, 1L, SEEK_CUR); /fp指针从当前位置向后移动/
}
for(i = 0 ;i < 6 ; i++)
printf("%f\t%f\t%f\t%f\t%f\t\n",da[i][0],
da[i][1],da[i][2],da[i][3],da[i][4]);
getchar() ;
}
VS2010工程如下:
![这里写图片描述](https://img-blog.csdnimg.cn/img_convert/73f80a389373126306e964ccaede3c23.png)
**收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。**
![img](https://img-blog.csdnimg.cn/img_convert/25073035ea1708b263226f8f392a0aee.png)
![img](https://img-blog.csdnimg.cn/img_convert/4536c75baf1fb6ed0252df9d3c3f3bd7.png)
**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618679757)**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
757)**
**需要这些体系化资料的朋友,可以加我V获取:vip1024c (备注嵌入式)**
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人**
**都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**