首页 > 其他分享 >C语言:文件IO fprint()、fscanf()、fgets()、fputs()

C语言:文件IO fprint()、fscanf()、fgets()、fputs()

时间:2022-09-05 09:33:38浏览次数:58  
标签:fprint 函数 fscanf 字符串 C语言 fputs fprintf fgets

fprintf()和fscanf()函数

文件I/O函数fprintf()fscanf()函数的工作方式与printf()scanf()类似,区别在于前者需要用第1个参数指定待处理的文件。

下面演示了fprintf()fscanf()函数的用法:用户在控制台输入,当输入字符q时,直接退出,输入其他字符串时,会直接输出到文件

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int main() {

    char arr[100];
    char name[] = "C:\\Users\\MSI-\\Desktop\\test.txt";
    FILE *f ;

    if((f = fopen(name, "w+")) == NULL) {
        printf("Can't open %s\n", name);
        exit(1);
    }

    while (!(fscanf(stdin, "%s", arr) == 1 && arr[0] == 'q'&& strlen(arr) == 1)) {
        fprintf(f, "%s", arr);
        fprintf(f, "%s", "\n");
    }

    if(fclose(f) != 0) {
        fprintf(stderr, "error");
    }
    return 1;
}

测试效果:

image-20220902163938262

fgets()和fputs()函数

fgets()函数,它的第1个参数和gets()函数一样,也是表示存储输入位置的地址(char * 类型);第2个参数是一个整数,表示待输入字符串的大小;最后一个参数是文件指针,指定待读取的文件。下面是一个调用该函数的例子:

fgets(buf, STLEN, fp);

fgets()函数读取输入直到第1个换行符的后面,或读到文件结尾,或者读取STLEN-1个字符,然后,fgets()在末尾添加一个空字符使之成为一个字符串。字符串的大小是其字符数加上一个空字符。

如果fgets()在读到字符上限之前已读完一整行,它会把表示行结尾的换行符放在空字符前面。****fgets() 函数在遇到EOF时将返回NULL值。如果未遇到EOF则返回之前传给它的第一个参数地址。

fputs()函数接受两个参数:第1个是字符串的地址;第2个是文件指针。该函数把根据传入地址找到的字符串写入指定的文件中。和puts()函数不同,fputs()在打印字符串时不会在其末尾添加换行符。下面是一个调用该函数的例子:

fputs(buf, fp);

这里,buf是字符串的地址,fp用于指定目标文件。

标签:fprint,函数,fscanf,字符串,C语言,fputs,fprintf,fgets
From: https://www.cnblogs.com/wwjj4811/p/16656945.html

相关文章

  • 《跟着星仔学C语言》简介
    [前言]  本人男,外号星仔,80后,国内重点大学毕业,对技术有执著的追求.一生碌碌,未成大气候,唯一欣慰的是技术方面不曾落后,看上去还挺牛X.  学习C/C++需要耐心......
  • [数据结构10分钟入门] 面向初学者从零实现(基于C语言)-- 单链表
    ​一、链表是什么    链表是一种通过指针串联在一起的线性结构,在内存中是分散存储的(数组在内存中连续分布),链表由一系列节点组成,每个节点都由数据域和指针域组成。主......
  • C语言字符串处理函数 puts()和fputs()的区别及使用
    ​字符串函数(Stringprocessingfunction)也叫字符串处理函数,指的是编程语言中用来进行字符串处理的函数。本文主要介绍C语言中符串处理函数puts()和fputs()的区别使用方......
  • 0:打开C语言大门
    C语言教程C语言教程开端详见:菜鸟教程简单介绍:走个过场C语言是一种通用的、面向过程式的计算机程序设计语言。1972年,为了移植与开发UNIX操作系统,丹尼斯·里......
  • C语言int类型在16位和32位单片机所占的字节数
    16位系统int类型长度为2字节32位系统int类型长度为4字节例如:在16位系统中,存储端口号需要用uint类型(unsignedint),范围0~65535,打印输出时可用"%u"或“%lu”。32系统使用......
  • C语言大纲
    网络方向:技能模块5.C语言程序设计1.技术要求(1)能够实现顺序结构的程序设计。(2)能利用if语句、switch语句实现分支结构的程序设计。8(3)能利用while循环,do...while循环和for循环......
  • C语言拍品管理系统
    C语言拍品管理系统拍品管理系统一、课题内容:通过建立拍品管理系统,实现对拍品相关信息的录入、查询、删除、修改,对于新拍品的信息可以自己更改添加备注,对于拍品库内的拍......
  • C语言源程序解析程序
    C语言源程序解析程序一、 课程设计的基本要求根据所学知识,编写指定题目的C++语言程序,并规范地完成课程设计报告。通过课程设计,加深对《C++面向对象程序设计》课程所学知......
  • 指针函数和函数指针(C语言)
    @目录指针函数函数指针指针函数指针函数就是指针型函数,该函数返回一个地址。#include<stdio.h>//指针函数*point_fuc()int*point_fuc(inta,intb,int*sum){......
  • C语言学习笔记
    C语言学习笔记  预处理#include#include指令可以将另一个源文件的全部内容包含进来#include"stdio.h"#include<stdio.h>用尖括号时,C库函数头文件所在......