1. int scanf(const char *format, ...)

说明:scanf用于通过控制台输入字符串。

注意:

(1).通过scanf()函数输入的字符串,系统会自动在其后面补一个0,scanf默认回车和空格都是代表输入完成,这样会导致无法输入一个完整的字符串。

(2).scanf()函数并不检查char数组的下标,用户输入多少scanf就会保存多少,假如用户输入的字符长度超过了定义的char数组的长度,则会发生溢出。scanf函数是不安全的。

示例:

#include <stdio.h>
#pragma warning(disable:4996) void main() { char a[] = {};
scanf("%s",a);
printf("%s\n",a);
system("pause"); }

2. char *gets(char *str)

说明:从标准输入中读取一行,并将其存储到由str指向的字符串.

注意:

(1).gets函数只认回车代表输入完毕,空格只是一个普通字符而已,因此可以输出空格。

(2).gets函数同样有缓冲区溢出的问题。使用gets和scanf都会面临缓冲区溢出的问题,因此两者都不安全。

3. char *fgets(char *str, int n, FILE *stream)

说明:从标准输入中读取一行,并将其存储到由str指向的字符串.

注意:

(1).fgets函数有三个参数。第一个参数是char的数组,第二个参数是标明这个数组的大小,第三个参数如果是通过键盘输入可以固定写为stdin.

(2).fgets函数是安全的,不存在缓冲区溢出的问题。

(3).fgets函数在读取一个用户通过键盘输入的字符串的时候,同时把用户输入的回车键也作为字符串的一部分,因此使用fgets函数后在输出时,不需要添加\n。当输入长度超过了缓冲区长度时,多出的部分将会被截断。

#include <stdio.h>
#pragma warning(disable:4996) void main() { char a[] = {};
fgets(a,sizeof(a),stdin);
printf("%s",a);
system("pause"); }

4. int puts(const char *str)

说明:输出一个字符串。

注意:

(1).puts函数打印字符串,与printf不同,puts会在最后自动添加一个’\n’

(2).put函数不支持转义字符,比如%d,%s都不支持,puts函数只能简单输出一个字符串,而不能输出char,int,double等其它类型.

#include <stdio.h>
#pragma warning(disable:4996) void main() { char s[] = "hello world";
puts(s);
system("pause"); }

#include <stdio.h>
#pragma warning(disable:4996) void main() { char s[] = "hello world";
puts("%d%s",,s);
system("pause"); }

5. int fputs(const char *str, FILE *stream)

说明:输出一个字符串。

注意:

(1).第一个参数是char的数组,第二个参数如果只是用puts在屏幕输出的话可以固定写成stdout

(2).fputs不会自动输出一个\n

(3).fputs是puts的文件操作版本

#include <stdio.h>
#pragma warning(disable:4996) void main() { char s[] = "hello world";
fputs(s, stdout);
system("pause");
}

C语言基础(12)-输入和输出的更多相关文章

  1. Python基础篇--输入与输出

    站长资讯平台:Python基础篇--输入与输出在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和输出输出输入END在任何语言中,输入和输出都是代码最基础的开始,so,先来聊一聊输入和 ...

  2. C++语言基础(25)-C++格式化输出

    一.使用控制符控制输出格式 #include <iostream> #include <iomanip>//不要忘记包含此头文件 using namespace std; in ...

  3. Java入门 - 语言基础 - 12.Number和Math类

    原文地址:http://www.work100.net/training/java-number-math.html 更多教程:光束云 - 免费课程 Number和Math类 序号 文内章节 视频 1 ...

  4. D语言-变量、输入、输出、注释

    Part 1:变量 D语言的变量有很多类型,这里只讨论几个基本类型 §1.1变量的定义方法 在D语言中,变量的定义方法是这样子的: [typename] [var1,var2,var3...] 其中, ...

  5. python语言学习5——输入和输出

    输出 用print()在括号中加上字符串,就可以向屏幕上输出指定的文字. 注意点: 字符串用的是单引号 碰到逗号输出时就会输出一个空格 输入 python提供了一个input(),可以让用户输入一个字 ...

  6. 从小白到区块链工程师:第一阶段:Go语言的控制台输入和输出(3)

    六,Print系列的函数输出 1:Println 打印换行.Print控制台打印,lnline 一行,打印数据后自动换一行显示.下面显示在控制台打印出不同的类型. 打印输出结果后,会自动换一行.打印结 ...

  7. C语言基础 (12) 文件的操作 FILE

    课程回顾 结构体基本操作: 结构体类型的定义 // struct为关键字 Stu为自定义标识符 // struct Stu才是结构体类型 // 结构体成员不能在定义类型时赋值 struct Stu { ...

  8. Java语言基础(12)

    1 构造方法重载 在一个类内部,编写多个构造方法,创建对象的时候,根据需求的不同,调用不同的构造方法创建对象,实现不同的初始化. 案例:Demo1 public class Demo1 { publi ...

  9. go语言基础之输入的使用

    1.输入的使用 第一种写法:fmt.Scanf("%d", &a) 第二种写法:fmt.Scan(&a) 示例: package main //必须有一个main包 ...

随机推荐

  1. UVA GCD - Extreme (II)

    discription Given the value of N, you will have to find the value of G. The definition of G is given ...

  2. 【树链剖分】【线段树】bzoj3083 遥远的国度

    记最开始的根为root,换根之后,对于当前的根rtnow和询问子树U而言, ①rtnow==U,询问整棵树 ②fa[rtnow]==U,询问除了rtnow所在子树以外的整棵树 ③rtnow在U的子树里 ...

  3. 1.4(学习笔记)JSP自定义标签

    一.JSP自定义标签 JSP自定义标签,可以通过实现Tag接口.继承TagSupport类来设置标签功能. 后续通过配置文件将标签和具体的实现类关联. 二.自定义第一个标签(实现Tag接口) 自定义标 ...

  4. 1.3(学习笔记)Servlet获取表单数据

    一.Servlet获取表单数据 表单提交数据经由Servlet处理,返回一个处理结果显示在页面上, 那么如何获取表单提交的参数进出相应的处理呢? 主要用到以下方法: String  getParame ...

  5. Problem I: 打印金字塔

    #include<stdio.h> int main() { int n,i,j,k; scanf("%d",&n); ;i<=n;i++) { ;j&l ...

  6. UILabel设置行间距

    UILabel设置行间距: NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc]initWi ...

  7. iOS开发——MJExtension复杂数组用法

    最近在看MJExtension的Demo,发现了一个plist文件直接转数组模型的方法.以前研究过但是浅尝辄止没有解决,这几天有时间,好好看了看,找到了解决办法,与大家分享. 如果大家的项目中有这种嵌 ...

  8. 使用强大的可视化工具redislive来监控我们的redis

    原文:http://www.cnblogs.com/huangxincheng/archive/2016/06/08/5571185.html 作为玩windows的码农,在centos上面装点东西, ...

  9. fl2440hello world模块驱动编写

    许多语言,例如C,C++,JAVA等等都是从hello world开始的,因此我们的驱动程序的开发也要从hello world入手. 首先来看下我们的代码: /******************** ...

  10. edittext SearchView 失去焦点问题

    edittext 默认自己主动获取焦点的 并且会出现小键盘非常烦人 <LinearLayout             android:id="@+id/focus"     ...