fgets()函数以及fputs()函数

fgets()

fgets()
    
    该函数是一个文件操作相关的函数
 
    暂时使用这个函数可以从键盘接收一个字符串,保存到字符数组中
    
    原来接收字符串保存到数组中的方法:
    
        char str[50];
        1) scanf("%s",str); //缺点:不能接收空格
        2)gets(str);        //优点:可以接收空格
                            //缺点:会有一个不安全的警告
 
    fgets()是一个安全的字符串接收的函数
        
        char ch[5];//如果使用fgets,此时数组中最多存放4个可见字符
                    //会自动的把数组的最后一个元素存放\0
 
    fgets()使用格式:
        
        fgets(数组名,数组长度,stdin);
 
        例如:
            char ch[5]
            //fgets从输入缓冲区读取一个字符串保存到字符数组中
            //当输入的字符串的长度大于数组的长度,此时fgets会自动的
            //把数组的最后一个元素变成\0
            //当输入的字符串的长度小于数组长度的时候,fgets还会接收回车
            fgets(ch,sizeof(ch),stdin);
            //去掉多余的\n
            if(ch[strlen(ch)-1]=='\n')ch[strlen(ch)-1]='\0';
 

fputs()

fputs();
        也是一个文件操作相关的函数
        格式:
            fputs(数组名,stdout);
        
        例如:
            fputs(ch,stdout);
        fputs是不会自动换行
        fputs也不能进行格式化的输出

 

fgets() 和 fputs()最大的优点是,自动截取输入的字符串,使得我们对字符串的存储是安全的

posted @ 2015-05-09 16:49  王世桢  阅读(472)  评论(0编辑  收藏  举报