scanf从文件中读入,printf写入到文件

简介: scanf从文件中读入,printf写入到文件

重定向方式读写文件

#include <stdio.h>
#define LOCAL
int main()
{
    #ifdef LOCAL
    freopen("input.txt","r",stdin);
    //使得scanf从文件input.txt读入
    //r只读,如果文件不存在,出错
    freopen("output.txt","w",stdout);
    //使得printf写入文件output.txt
    //w只写,如果文件不存在,建立新文件
    #endif
    //只有定义了符号LOCAL,才编译2条freopen语句。
    int j;
    scanf("%d",&j);
    for(int i=0;i<5;i++)
        printf("%d\n",i);
    printf("%d\n",j);
    return 0;
}


非重定向方式读写文件

int main()
{
    FILE *fin,*fout;
    fin=fopen("data.in.txt","r");
    fout=fopen("data.out.txt","w");
    int j;
    fscanf(fin,"%d",&j);
    for(int i=0;i<5;i++)
        fprintf(fout,"%d\n",i);
    fprintf(fout,"%d\n",j);
    fclose(fin);
    fclose(fout);
    return 0;
}
目录
相关文章
|
8月前
|
存储
文件的顺序读写——顺序读写函数——fgets、fgetc、fputs、 fputc
文件的顺序读写——顺序读写函数——fgets、fgetc、fputs、 fputc
124 0
|
Linux C语言 开发者
深入解析Linux环境下的scanf()、sscanf()和fscanf()函数
在C语言中,`scanf()`、`sscanf()`和`fscanf()`是用于输入的三个常用函数。它们允许开发者从标准输入、字符串和文件中按照指定的格式读取数据。在Linux环境下,这些函数被广泛用于处理各种输入。本文将详细介绍这三个函数的用法,包括格式化字符串的语法和一些常见的使用场景。
846 1
|
3月前
|
存储
底层文件操作的各种函数(二)------printf,fprintf,sprintf,scanf,fscanf,sscanf的对比以及文件缓冲区
底层文件操作的各种函数(二)------printf,fprintf,sprintf,scanf,fscanf,sscanf的对比以及文件缓冲区
61 2
|
6月前
|
Java C++ Python
使用getline()从文件中读取一行字符串
C++ 中的 `getline()` 函数用于从文件流中读取整行文本。它可以从 `fstream` 和 `ifstream` 对象中调用。有两种语法形式:一种读取到 `\n` 或达到指定缓冲区大小,另一种允许指定自定义分隔符。如果文件流中的字符数量超过缓冲区大小,可能导致读取失败。示例代码展示了如何使用 `getline()` 读取单行和多行文本。
|
7月前
|
C语言
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
C语言进阶——sprintf与sscanf、文件的随机读写(fseek、ftell、rewind)
63 0
|
8月前
|
Java C++ Python
C++ 使用getline()从文件中读取一行字符串
`getline()` 是 C++ 中 `istream` 类的一个方法,被 `fstream` 和 `ifstream` 继承,用于从文件中读取一行字符串。它有两种语法:一种是从文件读取 `bufSize-1` 个字符到 `buf` 直到 `\n`,另一种是读到指定分隔符 `delim`。如果文件中的字符数量超过 `bufSize`,会导致读取失败。示例代码展示了如何使用 `getline()` 读取和打印文件内容。通过循环调用 `getline()`,可以连续读取文件的多行数据。
127 0
|
Java C++ Python
C++ 使用getline():从文件中读取一行字符串
getline() 方法从 cin 输入流缓冲区中读取一行字符串。在此基础上,getline() 方法还适用于读取指定文件中的一行数据,本节就给大家做详细的讲解。 我们知道,getline() 方法定义在 istream 类中,而 fstream 和 ifstream 类继承自 istream 类,因此 fstream 和 ifstream 的类对象可以调用 getline() 成员方法。 当文件流对象调用 getline() 方法时,该方法的功能就变成了从指定文件中读取一行字符串。该方法有以下 2 种语法格式: istream & getline(char* buf, int bufS
269 0
|
8月前
|
C语言
文件操作(二、scanf/fscanf/sscanf​与printf/fprintf/sprintf​、fseek与ftell与rewind、feof)
文件操作(二、scanf/fscanf/sscanf​与printf/fprintf/sprintf​、fseek与ftell与rewind、feof)
|
存储 数据安全/隐私保护
scanf函数读取数据 & 清空缓冲区
scanf函数读取数据 & 清空缓冲区
421 0
fgets(),strtod(),strnlen(),strcmp()函数记录
fgets(),strtod(),strnlen(),strcmp()函数记录