C简单文件操作。。

话说今天考了C语言的试,各种用文件读写神马的。哥都忘了神马文件读写了。于是前一小时各种想,不过这一小时做的最多是ctrl + alt + delete结束vc++6.0  尼玛我以无力吐槽这神马考试,大头机,vc编译两次就完蛋必须结束进程才能启动。这是考试吗,机房还一股臭脚丫子味,多少年不打扫了。这是练习ctrl + alt + delete命令吧。 哥实在没办法了全部用freopen写的,管他对不对的。哎....伤不起啊。回来还晕的我吐了,晕车的滋味要死啊。

回来就看了看这些简单的函数,话说哥想对了,可是考试的时候怎么数据就是读不出来呢,无语。。。

 

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

typedef struct node
{
	int id;
	char name[22];
	char sex[2];
}node;
node stu[107],st[107];

void main()
{
	int i;
	char str[107];
	char ch;
	
	FILE* fp = fopen("d.txt","w+");
	//FILE* fp = fopen("d.dat","r");
	if (fp == NULL)
	{
		printf("无法打开");
	}
	else
	{

		// fputc(ch,fp) ch = fgetc(fp)  用法
		/*
		scanf("%c",&ch);
		while (ch != '\n')
		{
		    fputc(ch,fp);
			scanf("%c",&ch);
		}
		rewind(fp);//使文件内部指针指向文件开头
        fseek(fp,2,0);//相对于0偏移2个位置以后的内容
		ch = fgetc(fp);
		while (ch != EOF)
		{
			printf(">>>>%c",ch);
			ch = fgetc(fp);
		}
		*/
		
		//fputs(str,fp)  fgets(str,n,fp)的用法
		
		/*
		scanf("%s",str);
		fputs(str,fp);
		rewind(fp);
		fgets(str,5,fp);//从文件里读出4个字符
		printf("%s\n",str);
		*/

		/*
			fread(pBuffer,size,count,pFile);
		  fwrite(pBuffer,size,count,pFile);
		  要读写一个数据块的话,无论是读还是写,都需要指定一个起始地址,
			读的话从这个起始地址读,写的话从这个起始地址写,上面函数定义中
			的第一个参数pBuffer就是用于指定这个起始地址,size读写的字节数,
			count则指定读写多少个size大小的数据,pFile是文件结构指针。
		*/
		/*
		 for (i = 0; i < 3; ++i)
		 {
			 scanf("%d %s %s",&stu[i].id,stu[i].name,stu[i].sex);
			 fwrite(&stu[i],sizeof(node),1,fp);
			 printf("\n");
		 }
		 rewind(fp);
		 for (i = 0; i < 3; ++i)
		 {
			 fread(&st[i],sizeof(node),1,fp);
			 printf("%d %s %s\n",st[i].id,st[i].name,st[i].sex);
		 }
		 */



		/*
			fscanf(fp,"%d%s",&i,s);
  		fprintf(fp,"%d%c",j,ch);
		*/
		
		
		for (i = 0; i < 3; ++i)
		{
			scanf("%d%s%s",&stu[i].id,stu[i].name,stu[i].sex);
			fprintf(fp,"%d %s %s\n",stu[i].id,stu[i].name,stu[i].sex);
		}
		rewind(fp);

		for (i = 0; i < 3; ++i)
		{
			fscanf(fp,"%d %s %s",&st[i].id,st[i].name,st[i].sex);
		}
	
		for (i = 0;  i < 3; ++i)
		{
			printf("%d %s %s\n",st[i].id,st[i].name,st[i].sex);
		}
		

		fclose(fp);
	}
}

  

posted @ 2012-11-03 22:55  E_star  阅读(175)  评论(0编辑  收藏  举报