标准文件描述符图如下:
read函数读取数字100的例子
#include <stdio.h> #include <unistd.h> int main(void) { int ret = 0; char buf[30] = {0}; //ret = scanf("%s", buf); //通过read函数从键盘读取数据 ret = read(0, (void *)buf, 30); if(-1 == ret) { //perror("scanf fail"); perror("read fail"); return -1; } printf("buf = %s\n", buf); int num = 0; //由于buf中的100是字符数据,想要得到数字100,就必须将buf中的每个字符'1','0','0'进行转换成对应的数字1,0,0,的ASCII码值 num = (buf[0] - '0')*100 + (buf[1] - '0')*10 + (buf[2] - '0'); printf("num = %d\n", num); return 0; } 
示例1
#include <unistd.h> int main(void) { int value = 65; //通过write输出整数65,看会输出什么 write(1 , &value , 4); //换行 write(1 , “\n” , 1); return 0; } 执行结果:

示例2
#include <unistd.h> int main(void) { int value = 65; char buf1[3] = {0}; //把整数65转换成字符6和5的ASCII码值进行输出 buf1[0] = value / 10 + '0'; buf1[1] = value % 10 + '0'; buf1[2] = '\n'; write(1, buf1, 3); //printf函数可以指定输出格式 //printf("%d\n" , value); return 0; } 执行结果:

转载请标明出处:3-文件描述符和标准文件
文章来源: 3-文件描述符和标准文件