欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C++如何將運(yùn)行結(jié)果保存到txt中

 更新時(shí)間:2023年08月04日 09:22:35   作者:Ivy9808  
這篇文章主要介紹了C++如何將運(yùn)行結(jié)果保存到txt中問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

將C++運(yùn)行結(jié)果保存到txt中

C++運(yùn)行完成后,有時(shí)需要將結(jié)果保存在類似txt等的文檔中,以便于后續(xù)查看或調(diào)用,那如何實(shí)現(xiàn)那?

可以選用fopen函數(shù),如下:

FILE * fp;
fp = fopen ("file.txt", "w+");
fprintf(fp,"%c\n",Helloworld);
fclose(fp);

fopen的定義為fopen ( “filename”, “mode” );

mode:w+(write/update: 為輸入和輸出創(chuàng)建一個(gè)空文件,如果文件已存在,則將已有文件內(nèi)容舍棄,按照空文件對(duì)待。)

按照上述函數(shù),更改之前的數(shù)組的程序,0-99存儲(chǔ)到數(shù)組中,并判定是否為5的倍數(shù),將運(yùn)行結(jié)果存儲(chǔ)到txt中。

int main()
{
 int i,j;
 char result;
 FILE * fp;
 fp = fopen ("file.txt", "w+");
 int array1[100];
 for(i=0;i<100;i++)
 {
  array1[i]=i;
 }
 for(j=0;j<100;j++)                         
 {
  if( 0 == array1[j]%5)
  {
   result = 'Y';
  }
  else
  {
   result = 'N';
  }
  fprintf(fp,"%d\t%c\n",array1[j],result);
 }
 fclose(fp);
 return 0;
}```
注意:和之前程序相比,該程序中將判定結(jié)果Y和N均賦值給了result,簡化了代碼。

C++保存數(shù)據(jù)

再用C++編寫程序時(shí),你也許會(huì)發(fā)現(xiàn),每次的數(shù)據(jù)都得重新計(jì)算,可不可以將一些數(shù)據(jù)保存起來下次在使用呢?接下來就將學(xué)習(xí)C++保存數(shù)據(jù)的方法

方法一:freopen

說到保存數(shù)據(jù),我們最熟悉的肯定就是freopen了,我們先來看看它的函數(shù)原型:

FILE *__cdecl freopen(
	const char * __restrict__ _Filename,
	const char * __restrict__ _Mode,
	FILE * __restrict__ _File
)
  • _Filename:是文件名,用于存儲(chǔ)輸入輸出的自定義文件名。
  • _Mode指文件打開的模式(如r-只讀, w-只寫等)。
  • _File:指一個(gè)文件,通常使用標(biāo)準(zhǔn)流文件。

我們先來看一個(gè)簡單的示例程序:

#include <bits/stdc++.h>
using namespace std;
int a;
int main() {
	freopen("text.txt","w",stdout);     //打開text.txt,并設(shè)置為輸出
	cin>>a;
	cout<<a<<endl;                      //將a輸出到text.txt
	fclose(stdout);                     //關(guān)閉文件
    return 0;
}

運(yùn)行程序,在文件夾中找到生成的text.txt,就可以看到輸出的值了,并且要記得用fclose關(guān)閉,以便下次打開。在這里我們用的是w,你也可以改成別的試試。

方法二:ifstream和ofstream

那么除了freopen,還有沒有別的方法了呢?

答案是必然的,我們就繼續(xù)來學(xué)習(xí)ifstreamofstream

為了使用他們,我們需要在開頭添加一個(gè)頭文件。

#include <fstream>

我們?cè)賮矶x兩個(gè)變量,

ifstream fr;			//讀入
ofstream fw;			//輸出

這兩個(gè)變量分別表示讀入和輸出。我們先來看看fr。

fr有一個(gè)函數(shù)open,用來打開文件,像下面這樣:

fr.open("text.txt");

了解了open函數(shù)的用法,我們應(yīng)該怎樣讀入數(shù)據(jù)呢?

其實(shí)這也很簡單,它的用法和cin幾乎一樣:

int a;							//要讀入的數(shù)
fr.open("text.txt");			//打開文件
fr>>a;							//讀入一個(gè)數(shù)a
fr.close();						//關(guān)閉文件

在最后一行,我們用了一個(gè)close函數(shù),它用來關(guān)閉文件,和freopen一樣,這是用來方便下次打開。

ifstream一樣,ofstream也同樣有openclose

ofstream fw;
fw.open("text.txt");			//打開文件
fw<<"hello,world!";				//讀入一個(gè)數(shù)a
fw.close();						//關(guān)閉文件

這個(gè)程序就可以在text.txt中輸出了,你肯定會(huì)發(fā)現(xiàn),我們?cè)?strong>第3行用了<<符號(hào),這和cout完全一樣,的確,這就是他的方便之處。

最后,我們把他們整合起來:

#include <bits/stdc++.h>
#include <fstream>                  //所需頭文件
using namespace std;
int a;
int main() {
	ofstream fw;
	ifstream fr;
	fr.open("text.txt");            //打開text.txt
	fr>>a;                          //從text.txt讀入一個(gè)數(shù)
	fr.close();                     //關(guān)閉文件
	cout<<"上次輸入的數(shù):"<<a<<endl;
	cout<<"輸入一個(gè)數(shù):";
	cin>>a;
	fw.open("text.txt");            //打開text.txt
	fw<<a;                          //在text.txt中輸出一個(gè)數(shù)
	fw.close();                     //關(guān)閉文件
	return 0;
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • c++ priority_queue用法入門超詳細(xì)教程

    c++ priority_queue用法入門超詳細(xì)教程

    priority_queue即優(yōu)先級(jí)隊(duì)列,它的使用場(chǎng)景很多,它底層是用大小根堆實(shí)現(xiàn)的,可以用log(n)的時(shí)間動(dòng)態(tài)地維護(hù)數(shù)據(jù)的有序性,這篇文章主要介紹了c++ priority_queue用法入門超詳細(xì)教程,需要的朋友可以參考下
    2023-12-12
  • C++發(fā)送郵件實(shí)現(xiàn)代碼

    C++發(fā)送郵件實(shí)現(xiàn)代碼

    這篇文章主要為大家詳細(xì)介紹了C++發(fā)送郵件的實(shí)現(xiàn)代碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 淺談2路插入排序算法及其簡單實(shí)現(xiàn)

    淺談2路插入排序算法及其簡單實(shí)現(xiàn)

    這篇文章主要介紹了淺談2路插入排序算法及其簡單實(shí)現(xiàn),雖算不上是常用的排序方法,但在數(shù)據(jù)庫等方面依然有用上的機(jī)會(huì),需要的朋友可以參考下
    2015-08-08
  • C語言枚舉與聯(lián)合圖文梳理講解

    C語言枚舉與聯(lián)合圖文梳理講解

    枚舉顧名思義就是把所有的可能性列舉出來,像一個(gè)星期分為七天我們就可以使用枚舉,聯(lián)合體是由關(guān)鍵字union和標(biāo)簽定義的,和枚舉是一樣的定義方式,不一樣的是,一個(gè)聯(lián)合體只有一塊內(nèi)存空間,什么意思呢,就相當(dāng)于只開辟最大的變量的內(nèi)存,其他的變量都在那個(gè)變量占據(jù)空間
    2023-01-01
  • C++獲得本機(jī)所有網(wǎng)卡的IP和MAC地址信息的實(shí)現(xiàn)方法

    C++獲得本機(jī)所有網(wǎng)卡的IP和MAC地址信息的實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄狢++獲得本機(jī)所有網(wǎng)卡的IP和MAC地址信息的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-10-10
  • 詳解C++設(shè)計(jì)模式編程中建造者模式的實(shí)現(xiàn)

    詳解C++設(shè)計(jì)模式編程中建造者模式的實(shí)現(xiàn)

    這篇文章主要介紹了C++設(shè)計(jì)模式編程中建造者模式的實(shí)現(xiàn),建造者模式將一個(gè)復(fù)雜對(duì)象的構(gòu)建于它的表現(xiàn)分離,可以減少代碼冗余,需要的朋友可以參考下
    2016-03-03
  • OpenCV實(shí)現(xiàn)圖像連通域

    OpenCV實(shí)現(xiàn)圖像連通域

    這篇文章主要為大家詳細(xì)介紹了OpenCV實(shí)現(xiàn)圖像連通域,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • 基于C語言代碼實(shí)現(xiàn)掃雷游戲

    基于C語言代碼實(shí)現(xiàn)掃雷游戲

    這篇文章主要為大家詳細(xì)介紹了基于C語言代碼實(shí)現(xiàn)掃雷游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Matlab繪制酷炫坐標(biāo)區(qū)域的方法詳解

    Matlab繪制酷炫坐標(biāo)區(qū)域的方法詳解

    這篇文章主要為大家詳細(xì)介紹了如何利用Matlab編寫一個(gè)能讓坐標(biāo)區(qū)域變得很炫酷的修飾函數(shù),文中的示例代碼講解詳細(xì),感興趣的可以了解一下
    2022-05-05
  • C++ Boost Serialization庫超詳細(xì)獎(jiǎng)金額

    C++ Boost Serialization庫超詳細(xì)獎(jiǎng)金額

    Boost是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱。Boost庫是一個(gè)可移植、提供源代碼的C++庫,作為標(biāo)準(zhǔn)庫的后備,是C++標(biāo)準(zhǔn)化進(jìn)程的開發(fā)引擎之一,是為C++語言標(biāo)準(zhǔn)庫提供擴(kuò)展的一些C++程序庫的總稱
    2022-12-12

最新評(píng)論