zoukankan      html  css  js  c++  java
  • c语言输入输出

    http://blog.csdn.net/pipisorry/article/details/41219551

    C语言基本输入输出

    标准输入scanf

     scanf("%s", a);

    C语言字符串读取数据sscanf

    sscanf() - 从一个字符串中读进与指定格式相符的数据。
    swscanf()- 用于处理宽字符字符串。和sscanf功能同样。

    c++用代码如何实现向输入缓冲区写入数据

    未解决

    C语言基本输出printf()

    printf函数的返回值

    http://www.360doc.com/content/11/1105/23/1317564_162120554.shtml

    关于printf()函数的返回值问题

    C语言字符串输出sprintf()

    将各种类型的数据构造成字符串
    sprintf 跟printf 在使用方法上差点儿一样,仅仅是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出。
    sprintf 是个变參函数,定义例如以下:
      int sprintf( char *buffer, const char *format [, argument] ... );
      除了前两个參数类型固定外。后面能够接随意多个參数。而它的精华,显然就在第二个參数格式化字符串上。

    [sprintf()的使用方法]

    皮皮blog



    非格式化输入输出puts()gets()函数

    能够由上面讲述的标准格式化输入输出函数取代, 但这些函数编译后代码少, 相对占用内存也小, 从而提高了速度, 同一时候使用也比較方便。

    1. puts()函数

        puts()函数用来向标准输出设备(屏幕)写字符串并换行,

    调用格式为:    puts(s);

        当中s为字符串变量(字符串数组名或字符串指针)。

        puts()函数的作用与语printf("%s ", s)同样。

    1. main()  {  
    2.   
    3.      char s[20], *f;   
    4.   
    5.      strcpy(s, "Hello world!"); /*字符串数组变量赋值*/  
    6.   
    7.      f="Thank you";                     /*字符串指针变量赋值*/  
    8.   
    9.      puts(s);  
    10.   
    11.      puts(f);  
    12.   
    13. }  

    说明:

        (1). puts()函数仅仅能输出字符串, 不能输出数值或进行格式变换。

        (2). 能够将字符串直接写入puts()函数中。如:puts("Hello, Turbo C2.0");

    2. gets()函数

        gets()函数用来从标准输入设备(键盘)读取字符串直到回车结束, 但回车符不属于这个字符串。

    调用格式为:    gets(s);

        当中s为字符串变量(字符串数组名或字符串指针)。

        gets(s)函数与scanf("%s", &s)类似, 但不全然同样, 使用scanf("%s", &s)函数输入字符串时存在一个问题, 就是假设输入了空格会觉得输入字符串结束,

    空格后的字符将作为下一个输入项处理, 但gets() 函数将接收输入的整个字符串直到回车为止。

    1.     main(){  
    2.   
    3.          char s[20], *f;  
    4.   
    5.          printf("input sth ");  
    6.   
    7.          gets(s);                      /*等待输入字符串直到回车结束*/  
    8.   
    9.          puts(s);                      /*将输入的字符串输出*/  
    10.   
    11.          puts("input sth ");  
    12.   
    13.          gets(f);  
    14.   
    15.          puts(f);  
    16.   

    [puts()和gets()函数 使用方法 ()]

    c语言中读入带空格的字符串

    问题:
     scanf("%s", a);
    执行输入hello world  
    回车
    则输入到a的仅仅是空格之前的部分,如何把空格之后的部分也输出?
    1. scanf( "%[^ ]", str );
    #include <stdio.h> int main(){ char str[50]; scanf( "%[^ ]", str ); printf( "%s ", str ); return 0; }

    scanf中的正則表達式

    1、定制自己的扫描集 %[abc]、%[a-z]、%[^abc]、%[^a-z],比isdigit()、isalpha()更加灵活。[]内是匹配的字符,^表示求反集。
    int i;
    char str[80], str2[80];
    // scanf("%d%[abc]%s", &i, str, str2);  
    // printf("%d %s   %s ",i,str,str2);
    // scanf("%[a-zA-Z0-9]", str);
    // scanf("%[^abce]", str);
    scanf("%[^a-z]", str);
    printf("%s ",str);
    2、读入一个地址并显示内存地址的内容
    int main(void){
    char ch='c';
    printf("%p ", &ch); // print the address of ch.
    char *p;
    cout<<"Enter an address: ";
    scanf("%p", &p);     //input the address displayed above
    printf("Value at location %p is %c ",p,*p);
    return 0;
    }
    3、丢弃不想要的空白符:scanf("%c %c");
    4、控制字符串中的非空白符:导致scanf()读入并丢弃输入流中的一个匹配字符。

    "%d。%d";
    5、压缩输入:在格式码前加上*,则用户就能够告诉scanf()读这个域,但不把它赋予不论什么变量。


        scanf("%c%*c, &ch); 使用此方法能够在字符处理时吃掉多余的回车。


    2.scanf()
    int t[999];
    int sum=0;
    while(scanf("%c",&t[sum++])!=EOF);

    3.gets()fgets()

    #include <stdio.h>  
    //char *fgets( char *str, int num, FILE *stream );
    int main(){
        char buffer[10];
        //fgets(buffer,10,stdin); //带有回车符
        gets(buffer);    //没有回车符
     
        printf("%s",buffer);
        return 0;
    }

    more:
    gets() 不检查字符串容量,有可能越界写数据,用户可不一定给你按套路出牌。可能输入长达300字节甚至2k字节的字符串,这种话非常危急
    尽管strlen。strcyp等等这些函数由于追求高效率也不会检查指针是否为空,指针是否可写。可是这些函数是C程序猿来操作的。C程序猿有正确使用函数的素养。


    可是gets() 是用户来输入,用户并不知道字符串上限,并且就算知道。也不一定有素养去按规定使用,要多多注意
    用fgets(str,80,stdin);就不危急了,fgets比較安全

    皮皮blog



    c语言文件读取和输入输出

    C语言文件读取fscanf()

    函数名: fscanf

    简述:C语言中主要的文件操作

    功 能: 从一个流中执行格式化输入,fscanf遇到空格和换行时结束,注意空格时也结束。这与fgets有差别,fgets遇到空格不结束。

    使用方法:

    1
    int fscanf(FILE*stream,constchar*format,[argument...]);
    FILE *stream:文件指针;
    char *format:格式字符串;
    [argument...]:输入列表。

    返回值为输入数据个数
    比如:
    1
    2
    3
    4
    5
    FILE*fp;
    chara[10];
    intb;
    doublec;
    fscanf(fp,"%s%d%lf",a,&b,&c)
    返回值:整型,成功读入的參数的个数

    格式字符说明
    经常使用基本參数对比:
           %d:读入一个十进制整数.
    %i :读入十进制。八进制。十六进制整数。与%d类似,可是在编译时通过数据前置或后置来区分进制,如增加“0x”则是十六进制,增加“0”则为八进制。比如串“031”使用%d时会被算作31,可是使用%i时会算作25.
    %u:读入一个无符号十进制整数.
    %f %F %g %G : 用来输入实数。能够用小数形式或指数形式输入.
    %x %X: 读入十六进制整数.
    %o': 读入八进制整数.
    %s : 读入一个字符串。遇空字符‘'结束。
    %c : 读入一个字符。无法读入空值。空格能够被读入。
    附加格式说明字符表修饰符说明
    L/l 长度修饰符 输入"长"数据
    h 长度修饰符 输入"短"数据
    演示样例说明
    假设要求从标准输入中输入一串字符串和一个整型数,那么參数“%s%d”表示什么呢?默认情况下,在终端上(这里假设程序为控制台应用程序)输入第一个參数的值的时候敲下回车。则在第二行输入的为第二个參数值。採用这种输入方法那么格式字符的形式就无关紧要了。
    这里要特殊说明的是假设參数在同一行给出,那么格式字符的參数与终端的输入会有什么关系。

    举个样例:假设格式字符为“%s+%d”,那么參数的输入就应该为 string + integer。


    http://baike.baidu.com/view/656694.htm

    http://blog.csdn.net/jhg1204/article/details/7932187
    c语言中全部文件操作函数具体解释:http://www.2cto.com/kf/201207/143344.html
    皮皮blog


    C语言控制台字体颜色设置

    一、设置字体颜色:
    1. 0 = 黑色       8 = 灰色
        1 = 蓝色       9 = 淡蓝色
        2 = 绿色       A = 淡绿色
        3 = 浅绿色     B = 淡浅绿色
        4 = 红色       C = 淡红色
        5 = 紫色       D = 淡紫色
        6 = 黄色       E = 淡黄色
        7 = 白色       F = 亮白色 
    #include <stdlib.h>
    system("color 2");system("color F");
    2.
    VC中要调用windows API来改变字体颜色。
    #include  <windows.h> 
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_GREEN);
    printf("Hello ");
    SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE),FOREGROUND_BLUE|FOREGROUND_GREEN|FOREGROUND_RED);
    printf("Hello ");

    当中FOREGROUND颜色仅仅有四种:GREEN,BLUE。RED,INTENSITY(加强)

    WinCon.h:
    #define FOREGROUND_BLUE      0x0001 // text color contains blue.
    #define FOREGROUND_GREEN     0x0002 // text color contains green.
    #define FOREGROUND_RED       0x0004 // text color contains red.
    #define FOREGROUND_INTENSITY 0x0008 // text color is intensified.
    #define BACKGROUND_BLUE      0x0010 // background color contains blue.
    #define BACKGROUND_GREEN     0x0020 // background color contains green.
    #define BACKGROUND_RED       0x0040 // background color contains red.
    #define BACKGROUND_INTENSITY 0x0080

    其它颜色都是基于红绿蓝三原色来调和而成:
    红色+绿色=黄色 
    绿色+蓝色=青色 
    红色+蓝色=品红 

    红色+绿色+蓝色=白色

    from:http://blog.csdn.net/pipisorry/article/details/41219551

    ref:cin、cin.get()、cin.getline()、getline()、gets()函数的使用方法


  • 相关阅读:
    WebSphere--安全性
    WebSphere--会话跟踪
    WebSphere--用户简要表
    WebSphere--连接管理器
    WebSphere--部署Servlet
    WebSphere--定制配置
    WebSphere--安装与配置
    WebSphere--基本特性
    六、Html头部和元信息
    五、Html表单标签
  • 原文地址:https://www.cnblogs.com/yjbjingcha/p/6916051.html
Copyright © 2011-2022 走看看