C C++基本输入输出

//#include<stdio.h>
#include<fstream>
#include<iostream>
//http://www.cnblogs.com/Yogurshine/p/3677201.html
//http://www.cnblogs.com/litaozijin/p/6582048.html  文本方式写入和二进制方式写入的区别
using namespace std;
#define ERROR 1
#define OK    0

int WriteFileWithCStyle()
{
	float f[6]={3.2f,-4.34f,25.04f,0.1f,50.56f,80.5f};
	FILE *fp;
	fp=fopen("1.txt","w");
	if(NULL==fp)
	{
		return ERROR;
	}
	//fwrite(f,sizeof(float),sizeof(f)/sizeof(float),fp);//二进制

	//for(int i=0;i<6;i++)
	//{
	//	fprintf(fp,"%f ",f[i]);//ASIC
	//}

	//fputs("Your score of TOEFLis\r\n", fp);/*向所建文件写入一串字符*/ 
	//fputc(':', fp);    /*向所建文件写冒号:*/
	//fputc(':', fp);    /*向所建文件写冒号:*/
	//fputc(':', fp);    /*向所建文件写冒号:*/

	
	fclose(fp);
	return OK;
}
int ReadFileWithCStyle()
{
	float f[6]={0.0};
	FILE *fp;
	fp=fopen("1.txt","r");
	if(NULL == fp)
	{
		return ERROR;
	}
	/*fread(f,sizeof(float),6,fp);//二进制

	
	for(int i=0;i<6;i++)
	{
		printf("f[%d] value[%2f]\r\n",i,f[i]);
	}*/
	/*for(int i=0;i<6;i++)
	{
		fscanf(fp, "%f", &f[i]); 
		printf("f[%d] value[%2f]\r\n",i,f[i]);
	}*/
	/*char buf[200];
	while(fgets(buf,200,fp)!=NULL)
	{
		printf("%s",buf);
	}*/

	/*char c;
	do
	{
		c=fgetc(fp);

		printf("%c\r\n",c);
	}
	while(c!=EOF);*/

	fseek(fp,0,SEEK_SET);
	fread(f,sizeof(float),6,fp);//二进制

	
	for(int i=0;i<6;i++)
	{
		printf("f[%d] value[%2f]\r\n",i,f[i]);
	}
	printf("返回文件位置的当前值的字节数ftell[%d]\r\n",ftell(fp));
	while(!feof(fp))
	{
		
		printf("%c",fgetc(fp));
	}
	printf("文件结尾\r\n");
	rewind(fp);
	while(!feof(fp))
	{
		fread(f,sizeof(float),6,fp);//二进制

	
		for(int i=0;i<6;i++)
		{
			printf("f[%d] value[%2f]\r\n",i,f[i]);
		}
		
		printf("%c",fgetc(fp));
	}
	printf("文件结尾\r\n");




	fclose(fp);
	return OK;
}
int ReadFromInputWithCStyle()
{
	int a[10];
	for(int i=0;i<10;i++)
	{
		scanf("%d",&a[i]);
	}
	return OK;

}
int WriteFileWithCPPStyle()
{	
	char a[10]={'a','s','d','f','g','h','j','k','l','q'};
	ofstream file1;
	file1.open("2.txt",ios::out | ios::binary);//,ios::in | ios::binary
	if(!file1)
	{
		cout<<"open error"<<endl;
		return ERROR;
	}
	
	////写入文件
	//for(int i=0;i<10;i++)
	//{
	//	//a[i]=(char)i;
	//	cin>>a[i];
	//	file1<<a[i];
	//	printf("%c\r\n",a[i]);
	//}


	//写入文件
	//file1.write(a,10);

	int nNum = 20;
	std::string str("Hello, world");
    file1.write((char *)&nNum, sizeof(int));
	file1.write(str.c_str(), sizeof(char) * (str.size()));
	file1.close();
	
	return OK;
}
int ReadFileWithCppStyle()
{
	char b[10]={0};
	char c;
	fstream file2;
	file2.open("2.txt");
	if(!file2)
	{
		cout<<"open error"<<endl;
		return ERROR;
	}
	//从文件中读取
	/*for(int i=0;i<10;i++)
	{
		file2>>b[i];
		cout<<b[i]<<" ";
	}*/

	//c=file2.get();
	//cout<<"c:"<<c<<endl;

	file2.read(b,10);
	cout<<file2.gcount()<<endl;

	for(int i=0;i<10;i++)
	{
		cout<<b[i];
	}

	file2.close();

}
int main()
{
	WriteFileWithCStyle();
	//ReadFileWithCStyle();
	//WriteFileWithCPPStyle();
	//ReadFileWithCppStyle();

	return OK;
}

 

posted @ 2017-08-02 00:28  cheshulin  阅读(124)  评论(0编辑  收藏  举报