C/C++ 連續讀寫多個檔案
本文是為了解決多個檔案的讀寫問題:
問題:在我的E盤下gene_info有300個.dat檔案。那麼我如何把這300個.dat檔案中的內容讀取出來呢?
每個.dat檔案中的內容就是這樣的字串資訊。我們不知道每個檔案中有多少個字串。我們可以知道的就是每個檔案中有一些字串資訊,僅此而已。
程式碼:我們將300個.dat檔案中的字串讀到rs中,並列印輸出。至於寫進多個檔案,就是註釋掉的部分,用fprintf()函式寫入。
#include<stdio.h>
#include<stdlib.h>
#include<iostream>
#include<string.h>
#include<vector>
using namespace std;
vector<string> rs;
void read_write()
{
FILE *fp = NULL;//輸入
FILE *fq = NULL;//輸出
char filename_body[10];
for(int i = 1; i <= 300; i ++)
{
char filename[30] = "E://gene_info/gene_";
memset(filename_body, 0, sizeof(filename_body));
itoa(i, filename_body, 10 );
strcat(filename,filename_body);
char filename_tail[5] = ".dat";
strcat(filename,filename_tail);
/*
char outputfile[30] = "E://gene_info_res/";
char outputfile_body[10];
memset(outputfile_body, 0, sizeof(outputfile_body));
itoa(i, outputfile_body, 10);
strcat(outputfile, outputfile_body);
char outputfile_tail[5] = ".txt";
strcat(outputfile,outputfile_tail);
*/
if((fp=fopen(filename, "r")) == NULL)
{
cout<<"open filename fail..."<<endl;
}
/* if((fq=fopen(outputfile, "w")) == NULL)
{
cout<<"open outputfile fail..."<<endl;
}
*/
char str[20];
while(fscanf(fp, "%s", str) == 1)
{
string tmp = str;
rs.push_back(tmp);
}
// fclose(fq);
fclose(fp);
}
}
int main()
{
read_write();
for(int i = 0; i < rs.size(); i ++)
cout<<rs[i]<<endl;
cout<<"DONE"<<endl;
return 0;
}
相關推薦
C/C++ 連續讀寫多個檔案
本文是為了解決多個檔案的讀寫問題: 問題:在我的E盤下gene_info有300個.dat檔案。那麼我如何把這300個.dat檔案中的內容讀取出來呢? 每個.dat檔案中的內容就是這樣的字串資訊
C語言中寫多個檔案時迴圈生成檔名
char fileName[50]; char *dirName="E:/lung_data/005/GB_BMP4_5_1"; for(int i=0;i<num;i++) {sprintf_s(fileName,"%s//%d.bmp",dirName,i); }
C/C++ 關於如何讀寫ini配置檔案 (小結)
讀取 讀取字元 DWORD GetPrivateProfileString( LPCTSTR lpAppName, // INI檔案中的一個欄位名[節名]可以有很多個節名 LPCTSTR lpKeyName, // lpAppName 下的一個鍵名,也就是裡面具體
readv writev 簡介 一次讀寫多個緩衝區
一個小例子說明函式使用: 結構說明: struct iovec { void * iov_base //緩衝區地址 size_t iov_len //緩衝區輸入/輸出長度 } #include "util.h" #include <sys/u
Java 非同步同時寫多個檔案,寫完之後通知子執行緒
思路: 是主執行緒和多個寫檔案執行緒之間同步,每寫完一個檔案計數加1,如果計數值等於當前寫檔案個數的時候,表示檔案已經全部寫完。此時通過條件變數通知在該條件變數等待的主執行緒。此時主執行緒被喚醒,可以在所有檔案被寫完的條件下做一些動作 程式碼: pack
C++讀寫ini配置檔案GetPrivateProfileString WritePrivateProfileStr
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
C++ 讀寫utf-8檔案
轉載自:https://blog.csdn.net/sdscscs22/article/details/53895416 UTF-8 UTF-8(8-bit Unicode Transformation Format)是一種針對Unicode的可變長度字元編碼,又稱萬國碼。由Ken Thom
C 檔案讀寫(二進位制檔案)
我們將介紹 C 程式設計師如何建立、開啟、關閉文字檔案或二進位制檔案。 一個檔案,無論它是文字檔案還是二進位制檔案,都是代表了一系列的位元組。C 語言不僅提供了訪問頂層的函式,也提供了底層(OS)呼叫來處理儲存裝置上的檔案。本章將講解檔案管理的重要呼叫。 開啟檔案 您可
c# 記憶體對映讀寫檔案
.NET中使用MemoryMappedFile解決記憶體對映問題。使用起來很方便。但是不得不說,該方法應用場景確實沒有多少。或者根本不需要。c#已經提供了很多寫檔案的類和方法。我都感覺很重複和混亂了。 不多說,我用MemoryMappedFile寫了個demo,來進行檔
.NET/C# 中你可以在程式碼中寫多個 Main 函式,然後按需要隨時切換
.NET/C# 程式從 Main 函式開始執行,基本上各種書籍資料都是這麼寫的。不過,我們可以寫多個 Main 函式,然後在專案檔案中設定應該選擇哪一個 Main 函式。 你可能會覺得這樣沒有什麼用,不過如果你的應用程式在不同的編譯條件下有不同的啟動程式碼,或者
C語言隨機讀寫資料檔案(二)
int fseek(FILE * fp, long offset, int fromWhere):設定檔案位置標記,方法引數說明: fp:FILE型別指標,該指標對應的檔案即是檔案位置標記所標記的檔案; offset:偏移量; fromWhere:偏移起始點,其值可以為SEEK_SET、SEEK
C語言隨機讀寫資料檔案(一)
void rewind(FILE * fp):將檔案位置標記重新指向檔案開頭,該函式沒有返回值; 【例子】計算機D盤根目錄有一個存放學生資訊的stud.dat檔案,請先講檔案資訊顯示在控制檯,然後在將資料複製到F盤stud.dat檔案中。 #include <stdio.h> #
c++多個檔案中如何共用一個全域性變數
例子: 標頭檔案:state.h 原始檔:state.cpp 其它原始檔:t1.cpp t2.cpp t3.cpp, 這些原始檔都包含標頭檔案state.h。 需要定義一個全域性變數供這些原始檔中使用:方法如下 1、在 state.h宣告全域性變數: extern inta; 2、在
C++多個檔案共享同一標頭檔案時全域性變數的宣告
前言 在編寫非小型程式時,僅僅用到函式進行模組化是不夠的,由於函式眾多,在一個或幾個檔案中完成程式會造成單個程式檔案過長。這樣一來,不知不覺中提高的模組間的耦合性,擴大了程式的修改時間。這時候將功能分散到更多的模組中就變得尤為重要了。 那麼,保持一個統一的結
C++ Windows API 讀寫INI檔案
BOOL WritePrivateProfileString( LPCTSTR lpAppName, // INI檔案中的一個欄位名[節名]可以有很多個節名 LPCTSTR lpKeyName, // lpAppName 下的一個鍵名,也就是裡面具體的變數名 LPCTSTR lpStri
Linux下多個檔案的C++工程編寫、編譯要點
編譯流程: 假定有三個檔案:main.cpp: #include <iostream> #include "include/func1.hpp" int main(){ cout<<"this is main"<<endl; fu
C# 讀寫.ini配置檔案
`class Ini { // 宣告INI檔案的寫操作函式 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")] private static extern
C語言及程式設計進階例程-2 一個程式,多個檔案
演示:建立多檔案的專案main.c#include <stdio.h> int max(int x,int y); int main( ) { int a,b,c; printf("輸入兩數:"); scanf("%d %d", &a, &b
C++讀寫二進位制格式檔案
在實際應用中,為了節約儲存空間,檔案多會以二進位制格式儲存,所以有必要了解如何在C++中讀取二進位制檔案中的資料。 標頭檔案 使用C++讀取二進位制格式的檔案,首先應該將標頭檔案<fstr
Dev-C++:同時編譯多個檔案
Dev-C++同時編譯多個C檔案: 考察多原始碼檔案程式的編譯及標頭檔案的使用 : 如果程式的函式 分別放在不同的程式之中,那就必須是定義常量的#define指令對於每個檔案都可用: 定義一個***.h檔案,儲存函式原型和常量定義