怎样将 c 语言运行程序结果进行复制粘贴

怎样将 c 语言运行程序结果进行复制粘贴,第1张

首先,如果你的程序是标准输入输出的话,理论上是不可以的,

但是,你可以在程序中改用文件输入输出,就可以轻松复制粘贴了

1、在main程序的开头加入

freopen("test.out","w",stdout)

其余依旧不动,然后运行完后,在同一目录下找到test.out文件,用记事本打开即可

1 以只读方式打开第一个文件

2 以写方式打开第二个文件

3 循环读取字符,并写入第二个文件。直到遇到EOF结束。

4 关闭文件。

代码:

#include <stdio.h>

int main()

{

    FILE *f1, *f2

    int c

    f1 = fopen("in.txt", "rb")

    f2 = fopen("out.txt", "wb")//将in.txt复制为out.txt

    while((c = fgetc(f1)) != EOF)

        fputc(c,f2)

    fcloseall()

    

    return 0    

}

不应对非文本文件使用fgetc等易受干扰的函数,建议用fread,fwrite读写二进制文件

#include "stdio.h"

/* 保护硬盘,绝对不要一个字节一个字节复制 */

#define SIZEOFBUFFER 256*1024L /* 缓冲区大小,默认为256KB */

long filesize(FILE *stream)

{

long curpos, length

curpos = ftell(stream)

fseek(stream, 0L, SEEK_END)

length = ftell(stream)

fseek(stream, curpos, SEEK_SET)

return length

}

int copyfile(const char* src,const char* dest)

{

FILE *fp1,*fp2

int fsize,factread

static unsigned char buffer[SIZEOFBUFFER]

fp1=fopen(src,"rb")

fp2=fopen(dest,"wb+")

if (!fp1 || !fp2) return 0

for (fsize=filesize(fp1)fsize>0fsize-=SIZEOFBUFFER)

{

factread=fread(buffer,1,SIZEOFBUFFER,fp1)

fwrite(buffer,factread,1,fp2)

}

fclose(fp1)

fclose(fp2)

return 1

}

int main()

{

copyfile("file1.txt","file2.txt")

return 0

}


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/11695155.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存