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);

	}

}

  

你可能感兴趣的:(文件操作)