小结(一):Linux编程 —字符测试与数据转换函数
先看一道比较经典的题目:
题目1.现有文件名为tmp的文件,内容为:LinuxProgrammer
请编写一段shell程序顺序完成以下操作:
1.建立temp.c源文件;
2.从键盘输入程序代码,并写入temp.c文件,用C程序实现对tmp文件的读取显示其内容;
3.统计tmp中的字节数,并显示tmp的属性;
4.对temp.c文件进行编译,并执行。
解法如下:1.新建一个csdn.sh文件命名
2.按题中要求在csdn.sh文件中写如代码实现这些操作
#/!bin/shtouch temp.ccat>temp.c<<"end"#include <fcntl.h> #include <stdio.h> #include <stdlib.h> #include <unistd.h> #define BUFFERSIZE 20 int main(int argc,char *argv[]){ int tmp=open("./tmp",O_RDONLY); char buffer[BUFFERSIZE]; ssize_t count; unsigned int total=0; while((count=read(tmp,buffer,BUFFERSIZE))>0){ if(write(STDOUT_FILENO,buffer,count)<count) perror("write error"); else total+=count; } printf("total char:%d\n",total); close(tmp); exit(0);}endwc -c tmpls -l tmpgcc -o csdn.out temp.cchmod u+x csdn.out./csdn.out
3.通过TOP命令./csdn.sh即可。
大把大把的时光从指缝间遛走,