c语言写入磁盘文件再写入一次,前面写入的字符会被删除吗

Python013

c语言写入磁盘文件再写入一次,前面写入的字符会被删除吗,第1张

c语言写入磁盘文件再写入一次,前面写入的字符会被删除吗,C语言对文件操作,"w"每次执行打开文件命令时清空文件的数据,而不是每执行一次对文件写入的命令就把上一次的数据清空,只在打开文件时清空文件,在这次写入时不清空数据.

如果不想清空原数据,用"a"追加写入模式打开文件.

以a.in a.out为例

#include<stdio.h>

int main(){

    int n

    freopen("a.in","r+",stdin)

    freopen("a.out","w+",stdout)

    scanf("%d",&n)

    printf("%d\n",n)

    return 0

}

还有种可以实现屏幕文件同时输出

#include<stdio.h>

int main(){

    FILE* f

    FILE* f1

    int n

    f=fopen("a.in","r+")

    f1=fopen("a.out","w+")

    fscanf(f,"%d",&n)

    fprintf(f1,"%d\n",n)//这时可以使用scanf和printf在屏幕输入输出

    fclose(f)

    fclose(f1)

}

标准C语言就这两种,C++里还有种用"fstream"的,要的话再跟我说

#include

"stdio.h"

int

main()

{

FILE

*fp=NULL

int

ch

fp=fopen("D:\\sample.txt","r")

//打开文件,需要注意的是,你必须把该文件放在D盘下,不然会报错

while(1)

{

ch=fgetc(fp)

//

if(ch==EOF)/*end

of

file文件末尾*/

break

printf("%c",ch)

}

//读取数据,直到文件末尾,读取一个数据就输出一个数据

fclose(fp)

//关闭文件

return

0

}

调试无误。

要把数据存到a[i],改下就行,

int

i=0,a[100]

把上面的变量ch的值赋给数组就行

a[i++]=ch