文档章节

第十三章 文件输入/输出

yohoj
 yohoj
发布于 2015/05/26 22:18
字数 1760
阅读 7
收藏 0

#include<stdio.h>
#include<stdlib.h>
int main(int argc,char *argv[])
{
	int ch;
	FILE *fp;
	long count = 0;
	char name[100];

	printf("Please input the name: ");
	scanf("%s",name);
	if((fp = fopen(name,"r")) == NULL)
	{
		printf("Can't open %s\n",name);
		exit(1);
	}
	while((ch = getc(fp)) != EOF)
	{
		putc(ch,stdout);
		count++;
	}
	fclose(fp);
	printf("File %s has %ld characters\n",name,count);
	return 0;
}

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

int main(int argc,char *argv[])
{
	char ch;
	FILE *source,*target;
	if((source = fopen(argv[1],"rb")) == NULL)
	{
		printf("Can't open %s",argv[1]);
		exit(1);
	}
	if((target = fopen(argv[2],"wb")) == NULL)
	{
		printf("Can't open %s",argv[2]);
		exit(1);
	}
	while(ch = getc(source) != EOF)
	{
		putc(ch,target);
	}
	fclose(source);
	fclose(target);
	printf("Done.");
	return 0;
}

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

int main()
{
	FILE *source,*target;
	char name_in[100],name_out[100];
	char ch1,ch2;
	printf("请输入源文件名和输出文件名\n");
	scanf("%s%s",name_in,name_out);
	if((source=fopen(name_in,"r")) == NULL)
	{
		printf("Can't open %s\n",name_in);
		exit(1);
	}
	if((target = fopen(name_out,"w")) == NULL)
	{
		printf("Can't open %s\n",name_out);
	}
	while((ch1=getc(source)) != EOF)
	{
		ch2 = toupper(ch1);
		putc(ch2,target);
	}
	fclose(source);
	fclose(target);
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
int main(int argc,char ** argv)
{   
	int i,n=argc; 
	char ch; 
	FILE *fp;  
	for(i=1; i<argc; i++) 
	{   
		printf("\nFILE %d -- %s:\n",i,argv[i]); 
		if ( (fp = fopen(argv[i],"r")) == NULL) 
		{   
			printf ("Can't open %s\n", argv[i]);   
			exit(i);  
		}   
		while((ch=getc(fp))!=EOF) 
			putc(ch,stdout); 
		fclose(fp); 
	} 
	return 0; 
	
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define BUFSIZE 1024
void append(FILE *source,FILE *dest);

int main(int argc,char *argv[])
{
	FILE *fa,*fs;
	int files = 0;
	int i;
	puts("Enter name of destination files: ");
	if((fa = fopen(argv[1],"a")) == NULL)
	{
		fprintf(stderr,"Can't open %s\n",argv[1]);
		exit(2);
	}
	if(setvbuf(fa,NULL,_IOFBF,BUFSIZE) != 0)
	{
		fputs("Can't create output buffter\n",stderr);
		exit(3);
	}
	puts("Enter name of first source file(empty line to quit): ");
	for(i=2;i<argc;i++)
	{
		if(strcmp(argv[i],argv[1]) == 0)
			fputs("Can't append file to itself\n",stderr);
		else if((fs = fopen(argv[i],"r")) == NULL)
			fprintf(stderr,"Can't open %s\n",argv[i]);
		else
		{
			if(setvbuf(fs,NULL,_IOFBF,BUFSIZE) != 0)
			{
				fputs("Can't create input buffer\n",stderr);
				continue;
			}
			append(fs,fa);
			if(ferror(fs)!=0)
				fprintf(stderr,"Error in reading file %s.\n",argv[i]);
			if(ferror(fa)!=0)
				fprintf(stderr,"Error in writing file %s.\n",argv[1]);
			fclose(fs);
			files++;
			printf("File %s append.\n",argv[i]);
			puts("Next file(empty line to quit): ");
		}
	}
	printf("Done. %d files append.\n",files);
	fclose(fa);
	return 0;
}

void append(FILE *source,FILE *dest)
{
	size_t bytes;
	static char temp[BUFSIZE];

	while((bytes = fread(temp,sizeof(char),BUFSIZE,source)) > 0)
		fwrite(temp,sizeof(char),bytes,dest);
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#define LEN 40

int main()
{
	FILE *in,*out;
	int ch;
	char name[LEN];
	int count = 0;
	char str[100];
	printf("Enter the name\n");
	scanf("%s",str);
	if((in = fopen(str,"r")) == NULL)
	{
		fprintf(stderr,"I couldn't open the file \"%s\"\n",str);
		exit(1);
	}
	strcpy(name,str);
	strcat(name,".red");
	if((out = fopen(name,"w")) == NULL)
	{
		fprintf(stderr,"Can't create output file.\n");
		exit(2);
	}
	while((ch = getc(in)) != EOF)
		if(count++ %3 == 0)
			putc(ch,out);
	if(fclose(in) != 0 || fclose(out) != 0)
		fprintf(stderr,"Error in closing files\n");
	return 0;
}

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

int main(int argc,char *argv[])
{
	FILE *p1,*p2;
	int i,j;
	char str1[100],str2[100];
	if(argc < 2)
	{
		printf("It is wrong\n ");
		exit(1);
	}
	if((p1=fopen(argv[1],"r")) == NULL)
	{
		printf("Can't open %s\n",argv[1]);
		exit(2);
	}
	if((p2=fopen(argv[2],"r")) == NULL)
	{
		printf("Can't open %s\n",argv[2]);
		exit(3);
	}
	while(1)
	{
		if((i=fscanf(p1,"%s",str1)) == 1 )
			puts(str1);//b时  fputs(str1.stdout);
		if((j=fscanf(p2,"%s",str2)) == 1 )
			puts(str2);//b时 fputs(str2,stdout);
		if(i != 1 && j != 1)
			break;
		printf("\n");
	}
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int sum(char ch,FILE *fp);
int main(int argc,char *argv[])
{
	FILE *fp;
	char ch1,ch2;
	char st[100];
	int n=0,i=0,m;
	ch1=*argv[1];
	if(argc<2)
	{
		printf("It has no char.\n");
		exit(1);
	}
	if(argc == 2)
	{
		printf("Enter the string\n");
		n=sum(ch1,stdin);
		printf("%d",n);

	}
	else
	{
		for(i=2;i<argc;i++)
		{
			if((fp = fopen(argv[i],"r")) == NULL)
			{
				printf("Can't open %s",argv[i]);
				exit(1);
			}
			n=sum(ch1,fp);
			printf("%s:%d\n",argv[i],n);
			n=0;
		}
	}
		fclose(fp);
	return 0;
}

int sum(char ch,FILE *fp)
{
	char ch1;
	int n=0;
	while((ch1=getc(fp)) != EOF)
		{
			if(ch1==ch)
				n++;
		}
	return n;	
}

#include<stdio.h>
#include<stdlib.h>
#define MAX 40
int main(void)
{
	FILE *fp;
	char words[MAX];
	int n=0;

	if((fp = fopen("words","a+")) == NULL)
	{
		fprintf(stdout,"Can't open \"words\" file.\n");
		exit(1);
	}
	while(fgets(words,MAX-1,fp) != NULL) 
		n++; 
	puts("Enter words to add to the file: press the Enter");
	puts("key at the beginning of a line to terminate.");
	while(gets(words) != NULL && words[0] != '\0')
		fprintf(fp,"%d %s\n",n++,words);
	puts("File content: ");
	rewind(fp);
	while(fscanf(fp,"%s",words) == 1)
		puts(words);
	if(fclose(fp) != 0)
		fprintf(stderr,"Error closing file\n");
	return 0;
}

#include<stdio.h>

int main()
{
	FILE *fp;
	char name[100],str[100];
	long hang,lie;
	printf("请输入文件名:");
	scanf("%s",name);
	if((fp = fopen(name,"r")) == NULL)
	{
		printf("Can't open %s",name);
	}
	while((scanf("%d%d",&hang,&lie)) == 2)
	{
		hang--,lie--;  
		fseek(fp,0L,SEEK_SET);  
		while (hang--)
			fgets(str,100,fp);
		fseek(fp,lie,SEEK_CUR); 
		fgets(str,100,fp); 
		printf("%s",str);  
		printf("input the start position to output:");
	}
	return 0;
}

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

int main(int argc,char *argv[])
{
	FILE *fp;
	char str[100];
	if(argc != 3)
	{
		printf("输入有误\n");
		exit(1);
	}
	if((fp = fopen(argv[2],"r")) == NULL)
	{
		printf("Can't open %s",argv[2]);
		exit(2);
	}
	while(fgets(str,100,fp) != NULL)
	{
		if(strstr(str,argv[1]) != NULL)
			puts(str);
	}
	fclose(fp);
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
#define HANG 2
#define LIE 3
int main(int argc,char *argv[])
{
	int a[HANG][LIE];
	char type[]=".,*&@!^%#";
	int i,j;
	char b[20][31];
	FILE *fp1,*fp2;
	char name[30];
	printf("请输入文件名:");	
	gets(name);
	if((fp1=fopen(name,"r")) == NULL)
	{
		printf("Can't open %s",name);
		exit(1);
	}
	printf("输入数组\n");
	for(i=0;i<HANG;i++)
	{
		for(j=0;j<LIE;j++)
		{
			fscanf(fp1,"%d",&a[i][j]);
		}
	}
	for(i=0;i<HANG;i++)
	{
		for(j=0;j<LIE+1;j++)
		{
			b[i][j]=type[a[i][j]];
		}
		b[i][j]='\0';
	}
	for(i=0;i<HANG;i++)
	{
		puts(b[i]);
	}
	printf("请输入文件名:");
	scanf("%s",name);
	if((fp2=fopen(name,"w")) == NULL)
	{
		printf("Can't open %s",name);
		exit(2);
	}
	for(i=0;i<HANG;i++)
	{
		fprintf(fp2,"%s",b[i]);
	}
	fclose(fp1);
	fclose(fp2);
	return 0;
}

#include<stdio.h>
#include<stdlib.h>
#define HANG 2
#define LIE 3
int main(int argc,char *argv[])
{
	int a[HANG][LIE];
	char type[]=".,*&@!^%#";
	int i,j;
	char b[20][31];
	FILE *fp1,*fp2;
	char name[30];
	printf("请输入文件名:");	
	gets(name);
	if((fp1=fopen(name,"r")) == NULL)
	{
		printf("Can't open %s",name);
		exit(1);
	}
	printf("输入数组\n");
	for(i=0;i<HANG;i++)
	{
		for(j=0;j<LIE;j++)
		{
			fscanf(fp1,"%d",&a[i][j]);
		}
	}
	for(i=0;i<HANG;i++)
	{
		for(j=0;i<LIE;j++)
		{
			if(i==0&&j==0)   
			{     
				if(   (a[i][j] - a[i][j+1])>1 && (a[i][j] - a[i+1][j])>1  )   
					a[i][j] = ( a[i][j+1] + a[i+1][j] ) / 2 + 0.5; 
			} 
			else if(i==0&&j==29)   
			{    
				if( (a[i][j] - a[i][j-1])>1 && (a[i][j] - a[i+1][j])>1  )    
					a[i][j] = ( a[i][j-1] + a[i+1][j] ) / 2 + 0.5;  
			}    
			else if(i==19&&j==0)  
			{ 
    				if(   (a[i][j] - a[i-1][j])>1 && (a[i][j] - a[i][j+1])>1  )  
					a[i][j] = ( a[i-1][j] + a[i][j+1] ) / 2 + 0.5;   
			}     
			else if(i==19&&j==29)   
			{      
				if(   (a[i][j] - a[i-1][j])>1 && (a[i][j] - a[i][j-1])>1  )       
					a[i][j] = ( a[i-1][j] + a[i][j-1] ) / 2 + 0.5;    
			}     
			else if(i==0) 
			{      
				if(   (a[i][j] - a[i][j-1])>1 && (a[i][j] - a[i+1][j])>1  && (a[i][j] - a[i][j+1])>1  )     
					 a[i][j] = ( a[i][j-1]  +  a[i+1][j]  +  a[i][j+1]) / 3 + 0.5;   
			}     
			else if(j==0)    
			{      
				if(   (a[i][j] - a[i-1][j])>1 && (a[i][j] - a[i+1][j])>1  && (a[i][j] - a[i][j+1])>1  )     
					 a[i][j] = ( a[i-1][j]  +  a[i+1][j]  +  a[i][j+1]) / 3 + 0.5;    
			}     
			else if(i==19)     
			{      
				if(   (a[i][j] - a[i-1][j])>1 && (a[i][j] - a[i][j-1])>1  && (a[i][j] - a[i][j+1])>1  )     
				 a[i][j] = ( a[i-1][j] + a[i][j-1] +  a[i][j+1]) / 3 + 0.5;    
			}     
			else if(j==29)     
			{      
				if(   (a[i][j] - a[i-1][j])>1 && (a[i][j] - a[i+1][j])>1  && (a[i][j] - a[i][j-1])>1  )       
				a[i][j] = ( a[i-1][j] + a[i+1][j] + a[i][j-1]) / 3 + 0.5;    
			}    
			else    
			{      
				if(   (a[i][j] - a[i-1][j])>1 && (a[i][j] - a[i+1][j])>1  && (a[i][j] - a[i][j-1])>1  && (a[i][j] - a[i][j+1])>1  )      
				 a[i][j] = ( a[i-1][j] + a[i+1][j] + a[i][j-1]) + a[i][j+1]/ 4 + 0.5;
			}
		}
	}
	for(i=0;i<HANG;i++)
	{
		for(j=0;j<LIE+1;j++)
		{
			b[i][j]=type[a[i][j]];
		}
		b[i][j]='\0';
	}
	for(i=0;i<HANG;i++)
	{
		puts(b[i]);
	}
	printf("请输入文件名:");
	scanf("%s",name);
	if((fp2=fopen(name,"w")) == NULL)
	{
		printf("Can't open %s",name);
		exit(2);
	}
	for(i=0;i<HANG;i++)
	{
		fprintf(fp2,"%s",b[i]);
	}
	fclose(fp1);
	fclose(fp2);
	return 0;
}


© 著作权归作者所有

yohoj
粉丝 0
博文 16
码字总数 14691
作品 0
宁波
私信 提问
JAVA 私塾第十三章笔记整理

JAVA 私塾第十三章笔记整理 第十三章 I/O流 JDK所提供的所有流类型,都位于java.io包内都分别继承自以下四种抽象流类型: 字节流 字符流 输入流 InputStream Reader 输出流 OutputStream Wri...

luodis
2011/02/22
165
2
13篇文章,教你学会ES6知识点

ES6 深入理解ES6》学习笔记 本文用于汇总链接到各个子章节的内容,github 欢迎大家题issues和PR,如果对你有帮助,也可以给 star 支持 :) 目录 第一章 块级绑定 第二章 字符串和正则表达式 ...

你听___
2018/05/08
0
0
更多的结构化命令(第十三章)

1. for命令 for命令的基本格式 for VAR in LIST #VAR为变量,LIST为指定队列do COMMAND #当VAR存在时执行COMMANDdone 1.1 读取列表中的值 [root@localhost test]# vi test.sh !/bin/bash Bas...

wlwlwl890
2017/08/07
0
0
从零开始的linux 第十三章

从零开始的linux 第十三章 (小编推门而入)同学们早 又是一个愉快的一天 (↑同学们看到小编后的眼神) 唉??同学们怎么了...干嘛用这种眼神看着小编.. 路人乙:“早你个头啊!都快晚上了!!...

荣耀灬慧
2017/10/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

nginx学习笔记

中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。 是连接两个独立应用程序或独立系统的软件。 web请求通过中间件可以直接调用操作系统,也可以经过中间件把请求分发到多...

码农实战
今天
5
0
Spring Security 实战干货:玩转自定义登录

1. 前言 前面的关于 Spring Security 相关的文章只是一个预热。为了接下来更好的实战,如果你错过了请从 Spring Security 实战系列 开始。安全访问的第一步就是认证(Authentication),认证...

码农小胖哥
今天
10
0
JAVA 实现雪花算法生成唯一订单号工具类

import lombok.SneakyThrows;import lombok.extern.slf4j.Slf4j;import java.util.Calendar;/** * Default distributed primary key generator. * * <p> * Use snowflake......

huangkejie
昨天
12
0
PhotoShop 色调:RGB/CMYK 颜色模式

一·、 RGB : 三原色:红绿蓝 1.通道:通道中的红绿蓝通道分别对应的是红绿蓝三种原色(RGB)的显示范围 1.差值模式能模拟三种原色叠加之后的效果 2.添加-颜色曲线:调整图像RGB颜色----R色增强...

东方墨天
昨天
11
1
将博客搬至CSDN

将博客搬至CSDN

算法与编程之美
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部