当前位置: 首页 > wzjs >正文

三明网站建设tudouly济南集团网站建设价格

三明网站建设tudouly,济南集团网站建设价格,html简单登录界面代码,搜索引擎优化seo专员招聘目录 基于ARM语音识别的智能家居系统 练习一 一、程序编译 练习二: 二、文件IO 三、文件IO常用API接口函数 1、打开文件 open() 2、将数据内容写入文件 write() 3、关闭(保存)文件 四、…

目录

基于ARM语音识别的智能家居系统

练习一

一、程序编译

练习二:

二、文件IO

三、文件IO常用API接口函数

1、打开文件 open()

2、将数据内容写入文件 write()

3、关闭(保存)文件

四、编程示例

总结


基于ARM语音识别的智能家居系统

我们上一篇讲了,关于Linux系统的一些质量,今天,我们实现在Linux系统下编译程序,我们通过两个小练习来熟悉一下。

练习一

熟悉基本命令的使用:
    1、在用户桌面目录下新建一个目录文件 demo/。
    2、在该目录 demo/下新建一个普通文件 hello.c。
    3、修改文件hello.c的权限为:
        对用户可读可写可执行     rwx   7
        对同组用户可写可执行     -wx   3
        对其他用户可读          r--   4
    4、将该目录 demo/ 拷贝到根目录下。

一、程序编译

我们编写程序实现输出hello world!!,相信大家这里的程序都会写。

//#include <stdio.h>   //宏:包含导入c语言标准输入输出头文件int main()   //程序入口
{printf("hello world!!\n");   //在终端上打印 hello world!! 字符串 return 0;
}

gcc: 编译器、编译c语言的工具。编译: gcc hello.c    编译得到一个可执行文件 a.out
执行: ./可执行文件   ./a.out
gcc hello.c -o bin
-o:将可执行文件重命名为bin,方便使用,防止文件覆盖。

 我们在Linux系统中,运行gcc hello.c可以得到一个.out文件。如果程序有错,就会提示哪里有错。下面是GCC编译器的介绍: 

GCC(GNU Compiler Collection)是一款免费的开源编译器,支持多种编程语言,例如C、C++、Objective-C、Fortran、Ada等。它是许多操作系统和软件的基石,包括GNU/Linux、Mac OS X、FreeBSD等。由于GCC的广泛应用和社区的庞大,它成为了业内最流行和广泛使用的编译器之一。

GCC(GNU Compiler Collection)是一款免费的开源编译器,支持多种编程语言,例如C、C++、Objective-C、Fortran、Ada等。它是许多操作系统和软件的基石,包括GNU/Linux、Mac OS X、FreeBSD等。由于GCC的广泛应用和社区的庞大,它成为了业内最流行和广泛使用的编译器之一。

 

 

练习二:

    使用    notpad++编写C程序,实现打印自己的姓名+学校+专业。在Ubuntu共享目录中,编译运行。
    拓展:打印99乘法表(循环)。

我们这里的程序都比较简单,我就直接展示代码,这里主要是来练习如何用GCC编译程序,熟悉这个过程。

#include <stdio.h> int main()  
{int i, j;for(i = 1; i<=9; i++){for(j = 1; j<=i; j++){printf("%dx%d=%d ", i, j, i*j);}printf("\n");}return 0;
}

如果你得到的结果和我一模一样,就说明,你已经掌握了这个方法,接下来,我们介绍文件。

二、文件IO

什么是文件?文件就是存放数据的集合。比如:.txt文件 .bmp文件   .jpg文件、、、、Unix/Linux对数据文件(*.mp3、*.bmp),程序文件(*.c、*.h、*.o),设备文件(LCD、触摸屏、鼠标),网络文件( socket ) 等的管理都抽象为文件,使用统一的方式方法管理。

在Linux系统中,一切皆是文件!!!

控制一个LCD屏幕设备----》控制LCD设备对应的设备文件---》文件IO

三、文件IO常用API接口函数

打开文件----》对文件进行读/写操作-----》关闭(保存)文件

1、打开文件 open()

头文件:
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>函数原型:int open(const char *pathname, int flags);
参数列表:const char *pathname:需要打开的文件路径的字符串  "./1.txt"int flags: 打开文件的方式O_RDONLY 以只读方式打开文件O_WRONLY 以只写方式打开文件O_RDWR   以可读写方式打开文件
返回值:失败: -1,错误码errno被设置。成功:返回一个新的文件描述符(文件的唯一标识符,遥控器)我们就可以通过这个文件描述符操纵这个文件。

2、将数据内容写入文件 write()

头文件:#include <unistd.h>函数原型:ssize_t write(int fd, const void *buf, size_t count);
从buf写入数据的内存缓冲区中  取count个字节数据  写入fd指代的文件中
参数列表:int fd:需要写入数据的目标文件的文件描述符,就是open函数的返回值。const void *buf:临时存放待写入的数据的内存缓冲区size_t count:写入的数据字节大小返回值:失败: -1,错误码errno被设置。成功:返回实际写入的字节个数。

3、关闭(保存)文件

头文件:#include <unistd.h>
函数原型:int close(int fd);
参数列表:int fd: 需要关闭的目标文件的文件描述符。
返回值:成功:返回0;失败:返回-1,错误码errno被设置。

四、编程示例

#include <stdio.h> 
#include <sys/types.h>  //open()
#include <sys/stat.h>
#include <fcntl.h>
#include <unistd.h>    //write()int main()  
{//1、打开文件 1.txtint fd = open("./1.txt", O_RDWR);if(fd == -1){//printf("open file failed!");perror("open file failed!");  //通过错误码打印错误信息return -1;   //程序非正常结束}//2、向文件中写入数据char buf[50] = "好好学习,天天向上!";int w_size = write(fd, buf, 50);printf("返回实际写入的字节个数: %d\n", w_size);//3、保存退出close(fd);return 0;
}
  • //1、打开文件 1.txt:这是打开文件的部分。它尝试打开当前目录下的"1.txt"文件,如果文件不存在,则返回-1。
  • //通过错误码打印错误信息:这是错误处理的代码。如果在打开文件过程中发生错误,它会打印错误信息并返回-1。
  • //2、向文件中写入数据:这是向文件写入数据的部分。它创建一个字符数组buf,并写入"好好学习,天天向上!"这句话。然后使用write()函数将buf的内容写入到文件中。
  • //返回实际写入的字节个数: %d:这是打印实际写入文件字节数的部分。
  • //3、保存退出:这是关闭文件的部分。在写入数据后,使用close()函数关闭文件。

我们这里实现了打开文件,写入文件的,最后关闭文件,今天的程序难度不大,主要还是熟悉操作。

总结

今天,我们主要熟悉了用GCC来编译程序和对文件的相关操作。下一篇,我们来介绍在led屏幕上显示图片。


文章转载自:

http://JHV215Bk.qjxxc.cn
http://BfS4EQ2x.qjxxc.cn
http://4CGwulSW.qjxxc.cn
http://It2sQmM2.qjxxc.cn
http://gaPZ6LYZ.qjxxc.cn
http://nrGf68GR.qjxxc.cn
http://EyqBOFw7.qjxxc.cn
http://NmExp0ih.qjxxc.cn
http://DrjJ9TKi.qjxxc.cn
http://R997fDCO.qjxxc.cn
http://o2Rg8wi4.qjxxc.cn
http://3TboM1HA.qjxxc.cn
http://z9zkdhSf.qjxxc.cn
http://DHWMlo7w.qjxxc.cn
http://d9qrQeGW.qjxxc.cn
http://xuxeg0RK.qjxxc.cn
http://w6fLyz3j.qjxxc.cn
http://cszI4xCn.qjxxc.cn
http://TfUZmnU8.qjxxc.cn
http://lNu60ey8.qjxxc.cn
http://TzU5fB9y.qjxxc.cn
http://vdmaJufy.qjxxc.cn
http://SVNzSyqj.qjxxc.cn
http://3YhqCe8i.qjxxc.cn
http://DHY9SIw7.qjxxc.cn
http://rI1vdHHy.qjxxc.cn
http://QK6FsoFv.qjxxc.cn
http://3nbWX345.qjxxc.cn
http://7N7Bjh2C.qjxxc.cn
http://Rq27FslW.qjxxc.cn
http://www.dtcms.com/wzjs/685032.html

相关文章:

  • 深圳市网站开发坂田附近广东企业网站模板设计
  • php的网站怎么做wordpress授权代码
  • 建设产品信息网站企业策划书模板word
  • 外贸手机网站dede网站演示
  • 织梦移动网站模板网店设计及运营构想
  • 专业购物网站建设哪家好太原网站制作公司飞向未来
  • 阜阳网站建设工作室怎么创建自己的免费网址
  • 做设计找图有哪些网站有哪些问题网站群建设平台
  • php网站后台怎么登陆江西省赣州市中考分数线2021
  • 网站建设宣传方案网络科技公司网站
  • 网站改版的形式大致有网站怎么做来卖东西
  • 洛阳建设工程网站代做课程设计网站
  • 农村电商网站建设分类江门专业制作网站
  • 手机网站编辑梧州论坛手机红豆网
  • 自动的东莞网站制作公司菏泽的给公司做网站的
  • 邢台做wap网站费用网站承载量怎么做
  • 企业网站设计需求文档编程代码
  • 面签拍照 网站备案秦皇岛手机网站制作费用
  • 网站开发集wordpress 被写入文件
  • 怎么做钓鱼网站h5开源网站模板
  • 摄影展示网站源码管理咨询公司ppt
  • 网站建设与管理说课pptpython做网站的 框架
  • 上海知名的网站建设公天津设计公司联系方式
  • 做网站的公司现在还 赚钱吗广州效果图制作公司
  • 网站建设与管理试卷 判断题百度app下载官方
  • 做网站会提供源代码吗漳州招商局规划建设局网站
  • 网站死循环企业网站建设公司网络
  • 衡阳网站优化外包首选重庆网红景点排名
  • 金华专业做网站公司宝丰网站制作公司
  • 曲靖市建设局网站怎么去掉hao123主页