1. 程式人生 > >C++ Again(1):檔案讀入與寫出

C++ Again(1):檔案讀入與寫出

本文章的實現參考自<C++ Primer>第一章第5節。

當前的任務是實現一個C++程式,能夠從某個檔案讀入字串並將字串寫入到另一個檔案中。

實現程式碼如下:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
  ofstream outfile("out_file");
  ifstream infile("in_file");
  if(! infile){
      cerr<<"error:unable to open file"<<endl;
	  return -1;
  }
  if(! outfile){
      cerr<<"error:unable to open outfile"<<endl;
	  return -2;
  }
  string word;
  while(infile >> word)
	  outfile << word << '~';
  return 0;
}

in_file:this is a cat and that is a dog

out_file:this~is~a~cat~and~that~is~a~dog~

需要探究的問題:1)標點符號如何處理?2)如何實現寫入out_file的時候將新的字串寫入到檔案的最後面,而不是取代檔案的內容。

3)ofstream ifstream新建物件的語句

1)以空格切分字串,所以標點符號與普通字元沒有區別

3)使用ofstream out_file = new ofstream("out_file")出錯;

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
 // ofstream outfile("out_file");
 // ifstream infile("in_file");
	ofstream outfile;
	ifstream infile;
	outfile.open("out_file");
	infile.open("in_file");
  if(! infile){
      cerr<<"error:unable to open file"<<endl;
	  return -1;
  }
  if(! outfile){
      cerr<<"error:unable to open outfile"<<endl;
	  return -2;
  }
  string word;
  while(infile >> word)
	  outfile << word << '~';
  return 0;
}

2)參考自:http://blog.sina.com.cn/s/blog_66474b160100wgan.html
#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(){
 // ofstream outfile("out_file");
 // ifstream infile("in_file");
	ofstream outfile;
	ifstream infile;
	outfile.open("out_file",ios::app);
	infile.open("in_file");
  if(! infile){
      cerr<<"error:unable to open file"<<endl;
	  return -1;
  }
  if(! outfile){
      cerr<<"error:unable to open outfile"<<endl;
	  return -2;
  }
  string word;
  while(infile >> word)
	  outfile << word << '~';
  return 0;
}

相關推薦

C++ Again(1)檔案

本文章的實現參考自<C++ Primer>第一章第5節。 當前的任務是實現一個C++程式,能夠從某個檔案讀入字串並將字串寫入到另一個檔案中。 實現程式碼如下: #include <iostream> #include <fstream>

Nio的

逐行讀入: import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.nio.file.Paths;

2.7 檔案操作1檔案的一般操作

匯入依賴 import ( "os" "fmt" "time" "bufio" "io" "io/ioutil" ) 開啟和關閉檔案 fun

C語言檔案寫入

學了一學期的C語言,還不怎麼會使用指標,檔案的讀入和寫入也不能很順利的寫出來,說起來好慚愧。碰巧今天朋友讓我幫他編寫一個C語言程式,對他數模要用到的大量資料求平均值(每天不同時刻對某一物理量進行檢測,持續幾十天,求那些時刻測得的物理量的平均值)。程式碼很簡單,關鍵是要掌握怎樣

Mycat分離以及拆庫拆表綜合實驗1主從復制多源復制

mycat mysql 讀寫分離 拆庫拆表 主從復制 數據規劃: Haproxy 集群 haproxy01 node127 192.168.31.127 haproxy02 node128 192.168.31.128 Mycat集群 mycat01 node119 192.168.31.

c++輸出的探索』

對於讀入與輸出的探索和優化 ·cin和cout ·scanf和printf ·關閉同步流 ·freopen和fclose ·整型read ·浮點型與字串read ·快輸 ·fread <更新提示> <第一次更新> <正

HDFS書筆記---5.2 檔案操作輸入流(5.2.1)

5.2.1 開啟檔案          使用者讀取一個HDFS檔案時,首先會呼叫DistributedFileSystem.open()方法開啟這個檔案,並獲取檔案對應的FSDataInputStream輸入流,然後在這個FSDataInputS

輸出shp檔案——Matlab

Matlab自帶有mapping box工具箱,該工具箱具有很多與地圖相關的功能,如下圖,詳情請訪問Matlab官網幫助. 讀寫shp檔案也是非常容易的事情。shp檔案在Matlab中被視為一個struct,每個欄位的屬性值則是struct的一個元胞。 讀入s

python筆記1——關於檔案的開啟

一、檔案的開啟與關閉1.open,close函式 #-*- coding:utf-8 -*- # 1、w 寫模式,它是不能讀的,如果用w模式開啟一個已經存在的檔案,會清空以前的檔案內容,重新寫 # w+ 是讀寫內容,只要沾上w,肯定會清空原來的檔案 # 2、r 讀模式,只能讀,不能寫,而且檔案

Numpy學習(3)將mnist資料檔案到資料結構(numpy陣列)中

''' 使用python解析二進位制檔案 ''' import numpy as np import struct def loadImageSet(filename): binfile = open(filename, 'rb') # 讀取二進位制檔案 buffers = bin

JavaFileInputStream檔案資料的兩種方式

FileInputStream是位元組流,它的read()方法允許一個位元組一個位元組的讀入,也允許先把資料存到緩衝區位元組陣列中,再一次性讀取整個陣列——在實際開發中,通常使用後者

CC++一次將整個檔案記憶體

@1.問題描述:         C和C++的初學者經常採用一行一行讀入檔案的辦法對檔案資料進行處理。但是經常會有一些情況需要將一個檔案整體一次讀入記憶體處理。而C和C++庫中並沒有提供直接一次讀入檔案全部資料的函式。 @2.解決方法:         目前給出C

C++入門&影象處理——影象的讀出

打嘎猴!前兩天寫了一個非常簡單的小程式,但是出了一個問題卡了很久不知道怎麼解決,是關於圖片讀入那裡的,畢竟新手,現在搞清楚了,來寫篇部落格記錄一下。首先貼出有錯的程式#include <stdlib.h> #include <stdio.h> #inc

c/c++ 從鍵盤流中字串的函式gets(str);

****本文摘自西電論壇 標頭檔案:#include <stdio.h> gets()函式用於從緩衝區中讀取字串,其原型如下:    char *gets(char *string);gets()函式從流中讀取字串,直到出現換行符或讀到檔案尾為止,最後加上NUL

Windows DIB檔案操作詳解-1.DIB的、儲存和顯示

DIB(裝置無關點陣圖)是儲存在磁碟上的點陣圖檔案,可以從磁碟讀到記憶體中或從記憶體儲存到磁碟上,它的磁碟檔案結構是標準化的,在Linux、Unix及Windows上都可以以同樣效果顯示。點陣圖是最接近硬體的影象格式,Windows顯示的核心是點陣圖,它的SDK API專門

SE高階(1)用於配置檔案的特殊Map——Properties類

[java] view plain copy  print? Properties pro = new Properties();           //指向一個屬性檔案         FileInputStream fis = new FileInputStream("F:\\prope

C# 好程式碼學習筆記(1)檔案操作、讀取檔案、Debug/Trace 類、Conditional條件編譯、CLS

[TOC] 目錄: 1,檔案操作 2,Debug、Trace類 3,條件編譯 4,MethodImpl 特性 5,CLSComplianAttribute 6,必要時自定義類型別名 最近在閱讀 .NET Core Runtime 的原始碼,參考大佬的程式碼,學習編寫技巧和提高程式碼水平。學

c# excel 導 (可直接用)

enter access arr message owin dateutil win toarray port c#操作excel方式很多 采用OleDB讀取EXCEL文件: 引用的com組件:Microsoft.Office.Interop.Excel.dll 讀

HBase學習總結(1)HBase的下載安裝

oot 停止 微信公眾號 profile jdk1 variable jdk oop lib (HBase是一種數據庫:Hadoop數據庫,它是一種NoSQL存儲系統,專門設計用來高速隨機讀寫大規模數據。本文介紹HBase的下載與安裝的整個過程。) 一

Day-1初識開發板基礎知識

總線 系列 控制系統 mage 只讀 上拉 相同 ont 頻率   買的這款51,ARM,AVR三合一的單片機,也不知道後面具體使用會不會有問題,先玩玩看吧。 ---------------------------------------------------------