首页 > 编程语言 >C++文件输入输出的简单实现(Debug)

C++文件输入输出的简单实现(Debug)

时间:2024-02-16 16:33:16浏览次数:37  
标签:文件 cout 输入输出 cin C++ Debug define out

1.前言:

        文件输入输出是个很有用的东西,有时比赛时要有:要求使用文件输入输出,还有时候……

        遇到这种时间限制非常恶心的题目:手动测试会有误差……

        文件输入输出是个很好的选择!

2.写法:

C

        C语言的写法有点复杂,涉及文件指针,本文不多介绍。下面给出示范写法:

#include <stdio.h>
int main() {
    FILE *file = fopen("文件名", "文件模式:r,w");
    if(file!=NULL){//若打开失败,file值为NULL
		fprintf(file, "整数:%d\n",8/*如同printf*/);
	}
    fclose(file);//记得关闭
    return 0;
}

 C++

        我们可以将 cin,cout重定向到文件,或者使用:ifstreamofstream

        其中,ifstream是文件输入,ofstream是文件输出。

        我们可以创建文件对象,在使用时就可以像cin,cout一样了(不要忘记关闭文件!!!)

ifstream in("infile.in");
ofstream out("outfile.out");
int a;
in>>a;
out<<a;
in.colse();
out.close();

        或者在创建对象后再打开。

ifstream in;
ofstream out;
in.open("infile.in");
out.open("outfile.out");
int a;
in>>a;
out<<a;
in.colse();
out.close();

3.完整代码:

#include<bits/stdc++.h>
using namespace std;
#define infile test.in
#define outfile test.out
#define cin_cout_f
//#define speedup
#ifdef cin_cout_f
	#define cin in
	#define cout out
	ifstream in("infile");
	ofstream out("outfile");
	//文件输入输出
#else
	#ifdef speedup
		void spup(){
			ios::sync_with_stdio(false);
			cin.tie(0);
		}
		//cin,cout加速,别用printf&scanf
	#endif
#endif
int main(){
	int a;
	cin>>a;
	cout<<a;
}

4.后续:

        是不是很简单,点个赞吧。

标签:文件,cout,输入输出,cin,C++,Debug,define,out
From: https://www.cnblogs.com/Gavinbeta/p/18017259

相关文章

  • C++类型转换
    C++类型转换静态转换:​ 用于类层次结构中基类(父类)和派生类(子类)之间指针或引用的转换//指针voidtest02(){ Father*f=NULL; Son*s=NULL; //向下转换不安全 Son*s1=static_cast<Son*>(f); //向上转换安全 Father*f1=static_cast<Father*>(s); //没有继......
  • windows下c++遍历各个磁盘的所有文件,不知道为什么FindFirstFileA文件会报错,进而程序退
    下面的程序还有一些问题,比如360的一些目录就用FindFirstFileA函数打开错误;还有  C:\Windows\System32\WebThreatDefSvc ,属性只有 DIRECTORY,用函数 _access检查也没有问题,但是就是用FindFirstFileA打开的时候错误;至今没有想到解决办法,只能临时跳过这种目录。 #include......
  • Debug: tf distribute strategy parameter server: tfx component trainer: OutOfRang
    [ERROR:tfdistributestrategyparameterserver:tfxcomponenttrainer:OutOfRangeError(),Node:'cond/IteratorGetNext'Endofsequence]logofpodtfx-component-trainer:2024-02-1409:43:48.571820:W./tensorflow/core/distributed_runtime/eager/......
  • Keil5在Debug下如何实时查看变量的值
    在Debug模式下查看某个变量的值很简单,只需把需要查看的变量添加到watch,有一点要注意的是该变量必须是全局变量才能实时显示,具体操作如下图。1、把鼠标光标移到要查看的变量处;2、点击鼠标右键,在弹出的窗口中选择Add‘ADC _Value’to;3、选择显示的窗口,有两个窗口选择。变量......
  • C++ Builder使用FMX多平台框架
    C++Builder使用FMX多平台框架C++Builder使用FMX多平台框架C++Builder使用FMX多平台框架......
  • Effective C++ 第一章:让自己习惯C++
    EffectiveC++第一章:让自己习惯C++引言最近在阅读这本《effectiveC++改善程序与设计的55个具体做法》这本书,为了以后忘记的时候回顾,写一些笔记,每次笔记大概记录一个章节的内容。条款1.视C++为一个语言联邦C++最早只是C语言的扩充,在C基础上加上了面向对象特性,但是发展了很多......
  • C++多线程 第五章 C++内存模型和原子类型
    第五章C++内存模型和原子类型无论其他语言如何,C++是一门系统编程语言.委员会希望不再需要一个比C++低级的语言.内存模型基础C++程序中所有的数据均是由对象(object)组成的.C++标准定义对象为"存储区域",经管它会为这些对象分配属于它们的类型和生存期.无论什么类型,对象......
  • Debug: tf distribute strategy parameter server: NOT_FOUND: No such file or dire
    [ERROR:NOT_FOUND:/tfx/tfx_pv/pipelines/detect_anomolies_on_wafer_tfdv_schema/ImportExampleGen/examples/67/Split-train/data_tfrecord-00000-of-00001.gz;Nosuchfileordirectory]logofpodtfx-trainer-component:ERROR:tensorflow:/job:worker/task:0en......
  • Debug : kfp.Client().upload_pipeline(): Failed to start a transaction to create
    [ERROR:Failedtostartatransactiontocreateanewpipelineandanewpipelineversion:dialtcp:lookupmysqlon10.96.0.10:53:nosuchhost","]>>>kfp.Client().upload_pipeline("/home/maye/pipeline_wafer_distribute.yaml",......
  • Debug: tf distribute strategy parameter server: stuck at "INFO:tensorflow:Parame
    [ERROR:stuckat"INFO:tensorflow:ParameterServerStrategyV2isnowconnectingtoclusterwithcluster_spec:ClusterSpec({'ps':['dist-strat-example-ps-0:5000'],'worker':['dist-strat-example-worker-0:5000',&#......