标签:
//read函数 #include <stdio.h> #include <stdlib.h> #include <unistd.h> /* STDIN_FILENO:标准输入,值是0 STDOUT_FILENO:标准输出,值是1 STDERR_FILENO:标准错误,值是2 头文件是 unistd.h read(文件标识符,缓冲区,缓冲区大小)函数是从某个文件中读取缓冲区大小的数据
ssize_t read(int fd, void *buf, size_t count); read()相比于scanf()优势在于read()可以读取空格,而scanf()遇到空格结束 但是read不能将数字字符串直接转化成int型,需要调用atoi()函数 atoi()函数的头文件是stdlib.h,功能是将字符串转成数字 */ int main(int arg,char *args[]) { char buf[50]={0}; int numx=0; int index=read(STDIN_FILENO,buf,sizeof(buf)); printf("返回值是%d,输入字符串是%s\n",index,buf); numx=atoi(buf); printf("输入的数字是%d\n",numx); return 0; }
//write函数 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> /* ssize_t write(int fd, const void *buf, size_t count); write()函数向指定文件标识符输出缓冲区数据 */ int main(int arg,char *args[]) { char buf[50]={0}; strcpy(buf,"fly with you!\n"); int index=write(STDOUT_FILENO,buf,strlen(buf)); printf("返回值是%d,\n",index); return 0; }
//open函数|close()函数 #include <stdio.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <unistd.h> #include <string.h> #include <errno.h> /* int open(const char *pathname, int flags); Opne试图打开参数pathname中的一个文件。 参数flags指定访问该文件的方式。 必须把flags设置为O_RDONLY,O_WRONLY,O_RDWR,O_CREAT,O_APPEND分别表示只读、只写、读写、如果文件存在就创建、追加。 open成功后会返回一个文件描述符。 open失败后会返回-1,并设置errno变量 errno是int型,表示错误编号,头文件是errno.h strerror()函数是打印错误信息,头文件是string.h */ int main(int arg,char *args[]) { if(arg<2) { printf("请输入一个参数!\n"); return 0; } int fd=open(args[1],O_RDONLY); if(fd==-1) { printf("错误信息:%s\n",strerror(errno)); }else { printf("文件标识符是%d\n",fd); char buf[100]={0}; //读取当前文件的内容 read(fd,buf,sizeof(buf)-1); printf("%s\n",buf); close(fd); } return 0; }
标签:
原文地址:http://www.cnblogs.com/zhanggaofeng/p/5791302.html