stdin,stdout,stderr流

介绍

stdin,stdout,stderr是标准的输入输出流。其中,stdin是访问键盘输入,stdout和stderr分别是向终端输出数据。

关键函数 fscanf/fprintf

/* 所在头文件 */
#include <stdio.h>int fscanf(FILE *stream, const char *format, ...)
int fprintf(FILE *stream, const char *format, ...)/* 特别的, scanf 和 printf 是专门用于向终端stdin和stdout 输入输出的函数 */
int printf(const char *format, ...)
int scanf(const char *format, ...)/* 扩展,如果需要字符串和流输入进行交互的话, 则使用 */
int sscanf(const char *str, const char *format, ...)
int sprintf(char *str, const char *format, ...)

例子

#include <stdio.h>int main(int argc, char *argv[]) {char str[10];fscanf(stdin, "%s", str);fprintf(stdout, "this is out:%s\n", str);fprintf(stderr, "this is err:%s\n", str);
}

将输入输出流重定向到文件中

FILE *freopen(const char *filename, const char *mode, FILE *stream)

freopen函数通常用于将stdin源内容重定向为文件,并且将stdout或stderr源内容重定向为文件,用于log保存和记录使用。

#include <stdio.h>int main() {char a;FILE *in = freopen("in.txt","r",stdin);FILE *out = freopen("out.txt","w",stdout);while (!feof(stdin)) {scanf("%c\n", &a);printf("%c\n", a);}fclose(in);fclose(out);return 0;
}

C语言调试技巧:stdin,stdout,stderr相关推荐

  1. linux 输出重定向_Linux--文件描述符和stdin,stdout,stderr

    基本概念 1. 文件描述符 总览: 当一个程序成功向操作系统请求访问一个打开的文件, 内核会返回一个指向内核中全局文件表(global file table)中的入口点(entry)的文件描述符. 文 ...

  2. 利用stdin stdout stderr及POSIX-linux机制重定向写日志

    利用stdin stdout stderr及POSIX-linux机制重定向写日志 由open返回的文件描述符一定是该进程尚未使用的最小描述符.由于程序启动时自动打开文件描述符0.1.2,因此第一次调 ...

  3. WorkerMan源码分析(resetStd方法,PHP中STDIN, STDOUT, STDERR的重定向)

    WorkerMan中work.php中 resetStd 方法中代码如下 public static function resetStd(){if (!static::$daemonize || st ...

  4. stdin, stdout, stderr

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.pandas是什么? 二.使用步骤 1.引入库 2.读入数据 总结 前言 在通常情况下,Linux/UNIX每个程 ...

  5. C语言调试技巧(以vs编译器为例)

    实用调试技巧 什么是bug 调试是什么,调试有何重要 调试是什么? 调试的基本步骤 Debug和Release的介绍. Windows环境调试介绍 调试快捷键 调试的时候查看程序当前信息 查看临时变量 ...

  6. Linux Shell 文件描述符 及 stdin stdout stderr 重定向

    Abstract: 1) Linux Shell 命令的标准输入.标准输出.标准错误,及其重定位: 2)Linux Shell 操作自定义文件描述符: 文件描述符是与文件相关联的一些整数,他们保持与已 ...

  7. JavaScript语言调试技巧

    1. 使用alert()语句进行调试 当不能定位程序发生错误引发的异常时,可以采用代码跟踪方式查找错误,这时可以将alert()语句放在程序的不同位置,用它来显示程序中的变量及函数返回值等. < ...

  8. C语言调试技巧:main函数输入参数

    带入参的main函数 介绍 带入参的main函数主要用于一些基本调试,main函数的入参在main函数里被解析为字符串,因此根据具体的调试业务可以需要将字符串转为相应的int类型或double类型进行 ...

  9. linux下的各个语言中stdin,stdout和stderr理解

    在linux中经常会看到stdin,stdout和stderr,这3个可以称为终端(Terminal)的标准输入(standard input),标准输出( standard out)和标准错误输出( ...

最新文章

  1. 我国企业大数据的发展与应用总览
  2. Oracle Database Appliance ODA开箱视频
  3. 用__builtin_return_address获得程序运行栈情况【转】
  4. bsp模型适用于图计算_CODE V微信简报:光束合成传播算法(BSP)
  5. SpringDataRedis对Redis的数据类型的常用操作API的使用代码举例
  6. Windows Powershell的一些常规操作命令
  7. C++学习基础八——重载输入和输出操作符
  8. MonoRail MVC应用(2)-构建多层结构的应用程序
  9. ruby 生成哈希值_哈希== Ruby中的运算符
  10. REVERSE-PRACTICE-CTFSHOW-3
  11. Ubuntu 11.04 beta 2发布!
  12. 【英语学习】【医学】Unit 08 The Cardiovascular System
  13. Powershell About Active Directory Group Membership of a domain user
  14. 第十:Pytest中的yield操作
  15. Java统计文件行数
  16. centos7搭建CDH
  17. 【安全攻防知识-4】CTF之MISC
  18. 基于html人事管理报告,人事管理工作实习报告范文
  19. 从百度“童年英雄的AI幻想”互动展说起,看AI如何赋能艺术?
  20. 【现已失效】【转载】QQ空间一键点赞方法

热门文章

  1. 字节码技术在模块依赖分析中的应用
  2. 双十一高并发场景背后的数据库RDS技术揭秘
  3. 阿里云DTS大幅降价,低至400元即可获得实现秒级延迟的数据传输服务
  4. 实现Chrome Devtools调试JavaScript V8引擎
  5. 2017双11技术揭秘—阿里数据库计算存储分离与离在线混布
  6. 什么是 RedCap?一文详解!
  7. 亚马逊云科技中国线上峰会开幕,发力汽车产业链、少年人工智能等
  8. 十强决赛即将拉开帷幕!TECHSPARK星星之火IT创新大赛诚邀您观赛
  9. 腾讯智慧交通战略重磅升级 打造以人为中心的未来交通
  10. 5G +边缘计算,优酷如何做云渲染?