程序1.2将标准输入复制到标准输出

这是我的第一篇关于UNIX环境高级编程的日志,使用g++编译libapue.a

 1 #include "apue.h"
 2
 3 #define BUFFSIZE 4096
 4
 5 int main()
 6 {
 7     int  n;
 8     char buf[BUFFSIZE];
 9
10     while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0)
11     {
12         if (write(STDOUT_FILENO, buf, n) != n)
13         {
14             err_sys("write error");
15         }
16     }
17
18     if (n < 0)
19     {
20         err_sys("read error");
21     }
22
23     return 0;
24 }

时间: 2024-10-26 11:54:34

程序1.2将标准输入复制到标准输出的相关文章

3.3 将标准输入复制到标准输出

mycat/mycat.c #include "apue.h" #define BUFFSIZE 4096 int main(void) { int n; char buf[BUFFSIZE]; while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0) if (write(STDOUT_FILENO, buf, n) != n) err_sys("write error"); if (n < 0) err_s

将标准输入复制到标准输出

mycat/mycat.c 1 #include "apue.h" 2 #define BUFFSIZE 4096 3 int 4 main(void) 5 { 6 int n; 7 char buf[BUFFSIZE]; 8 while ((n = read(STDIN_FILENO, buf, BUFFSIZE)) > 0) 9 if (write(STDOUT_FILENO, buf, n) != n) 10 err_sys("write error")

编写一个程序,它从标准输入读取C源代码,并验证所有的花括号都正确的成对出现

(三种if的情况考虑完整,注意解决问题的思想) #include <stdio.h>int main(){   int count=0; char ch; while((ch=getchar())!=EOF)  //直到出现文件结束标志,不再进入循环 {     if(ch=='{')     {          count++;     }     if(ch=='}'&&count==0)    //前无'{',而后有'}',即不匹配     {        print

编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现。

#include<stdio.h> int main() { int cou=0; char ch; while((ch=getchar())!='\n') { if(ch=='{') cou++; else if(ch=='}') { if(cou==0) printf("匹配不成功!"); cou--; } } if(cou==0) printf("匹配成功!"); else printf("匹配不成功!"); return 0;

C语言:编写一个程序,它从标准输入(终端)读取C源代码,并验证所有的花括号都正确的成对出现

#include <stdio.h> int main() {     char ch;     int count=0;     while((ch=getchar())!=EOF)     {      if(ch=='{')      {       count++;      }       else if(ch=='}')      {       if(count==0)       {        printf("不成功匹配\n");        }   

APUE学习笔记:第一章 UNUX基础知识

1.2 UNIX体系结构 从严格意义上,可将操作系统定义为一种软件(内核),它控制计算机硬件资源,提供程序运行环境.内核的接口被称为系统调用.公用函数库构建在系统调用接口之上,应用软件即可使用公用函数库,也可使用系统调用.shell是一种特殊的应用程序,它为运行其他应用程序提供了一个接口 从广义上,操作系统包括了内核和一些其他软件,这些软件使得计算机能够发挥作用,并给予计算机以独有的特性(软件包括系统实用程序,应用软件,shell以及公用函数库等) 1.3  shell shell是一个命令行解

不带缓冲的IO的标准输入到标准输出

在POSIX标准中提供了函数open, read, write, lseek以及close提供不带缓冲的IO,这些函数都是使用文件描述符: 在Linux/Unix系统中将标准输入复制到标准输出简单实现如下: #include <unistd.h> #define BUFFSIZE 4096 int main(int argc, char **argv) { int n; char buf[BUFFSIZE]; while((n = read(STDIN_FILENO, buf, BUFFSIZ

Linux网络配置及SSH和Shell基础

Linux网络配置及SSH和Shell基础 一.Linux网络配置     ifconfig命令被用于配置和显示Linux内核中网络接口的网络参数.用ifconfig命令配置的网卡信息,在网卡重启后机器重启后,配置就不存在.要想将上述的配置信息永远的存的电脑里,那就要修改网卡的配置文件了. 二.hosts文件的作用及修改主机名      Hosts : The static table lookup for host name(主机名查询静态表)       Linux 的/etc/hosts是

linux shell 管道命令(pipe)使用及与shell重定向区别

linux shell 管道命令(pipe)使用及与shell重定向区别 看了前面一节:linux shell数据重定向(输入重定向与输出重定向)详细分析 估计还有一些朋友是头晕晕的,好复杂的重定向了.这次我们看下管道命令了.shell管道,可以说用法就简单多了. 管道命令操作符是:"|",它仅能处理经由前面一个指令传出的正确输出信息,也就是 standard output 的信息,对于 stdandard error 信息没有直接处理能力.然后,传递给下一个命令,作为标准的输入 st