1. 程式人生 > >C++用fscanf()函式讀取TXT檔案內容

C++用fscanf()函式讀取TXT檔案內容

fscanf()函式的標頭檔案是<stdio.h>,函式原型為int fscanf(FILE*stream, constchar*format, [argument...]); 其功能為根據資料格式(format)從輸入流(stream)中寫入資料(argument);與fgets的差別在於:fscanf遇到空格和換行時結束,注意空格時也結束,fgets遇到空格不結束。

Ex:

現在有這樣一個數據檔案,想用fscanf函式讀取,每列作為一個數組

1.000000e+000 2.000000e+000 -3.000000e+000
2.000000e+000 3.000000e+000 -2.000000e+000
3.000000e+000 4.000000e+000 -1.000000e+000
4.000000e+000 5.000000e+000 0.000000e+000
5.000000e+000 6.000000e+000 1.000000e+000
6.000000e+000 7.000000e+000 2.000000e+000
7.000000e+000 8.000000e+000 3.000000e+000
8.000000e+000 9.000000e+000 4.000000e+000
9.000000e+000 1.000000e+001 5.000000e+000
1.000000e+001 1.100000e+001 6.000000e+000

程式碼如下:

# include <iostream>

int main(void){
FILE  *fq;
double x[10], y[10], z[10];

fq=fopen("step.dat" ,"rt+");//"rt+"是開啟一個文字檔案,可以讀寫。
for (int i=1; i<=10; i++){
fscanf(fq,"%lf ,%lf ,%lf\n",&x[i], &y[i], &z[i]);//%lf之間應該有逗號,因為沒有逗號只能讀第一個數。用&是因為要把數存到對應陣列元素的地址中去。\n是換行讀取
}
fclose(fq);
return 0;
}


相關推薦

C++fscanf函式讀取TXT檔案內容

fscanf()函式的標頭檔案是<stdio.h>,函式原型為int fscanf(FILE*stream, constchar*format, [argument...]); 其功能為根據資料格式(format)從輸入流(stream)中寫入資料(argume

fscanf函式詳解

以前解析有規律的檔案的時候要麼用正則表示式,要麼就是傻傻的自己寫程式來解析有規律的檔案。今天突然發現c的庫函式中有一個現成的可以解析有規律的檔案的函式,就是fscanf()函式。哎 以前自己做了這麼多無用功,在這裡詳細解析一下fscanf函式: fscanf()函式(有點

WaitForSingleObject函式實現簡單的多執行緒互斥訪問

今天是上班第一天,寫了一個簡單的執行緒互斥訪問練習了一下多執行緒。雖然以前寫過,但現在寫還是碰到蠻多問題,比如WaitForSingleObject()函式加在哪個位置(可以用WaitForSingleObject()等待前一個執行緒結束後然後開啟下一個執行緒以此達到同步的

C\C++中strcat函式

將兩個char型別連結。 char d[20]="GoldenGlobal"; char *s="View"; strcat(d,s); 結果放在d中 printf("%s",d); 輸出 d 為 GoldenGlobalView (中間無空格

學習ThinkPHP3.2.2:video9,C函式讀取配置檔案內容

在配置檔案 D:\wamp\www\wish\APP\Home\Conf\config.php 中配置一下內容: return array(     //'配置項'=>'配置值'     'myvar' => 'valueofaaa1' ); 在控

c#如何讀取txt檔案內容

using System; using System.Collections; using System.Configuration; using System.Data; using System

C格式化讀取txt檔案內容

#include <stdio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> struct localtion{ unsigned int lx; unsigned int ly

java讀取txt檔案內容並計算CPU耗時---以讀完《紅樓夢》為例

01. 學習目的 (1)java讀取TXT文件內容到字串陣列 (2)計算文件讀取過程CPU耗時 02. 實現程式碼 hlm.txt內容: 程式碼 /* #程式開始,獲取系統當前時間 #用檔案輸入流FileInputStream讀取文件內容 #將讀

Java 讀取 txt 檔案內容到容器 List

方法一: 一、桌面上準備 DataObject.txt 檔案,內容為:         二、開啟 Eclipse,編寫程式碼如下:   import java.io.BufferedRe

winfrom 從本地讀取txt檔案內容新增到窗體上

我使用的是dev 中的memoEdit控制元件(和textbox類似) 下面看程式碼 private void GetFileText() { //獲取檔案相對路徑 string path = System.Windows

linux主機讀取.txt檔案內容

//filePath = /home/file/webservice/kis/pubw.txt public static void readTxt(String filePath){ try { String encodin

MFC逐行讀取txt檔案內容

程式碼如下: CString strFileName = _T("D:\\abc.txt"); if (!PathFileExists(strFileName)) { return FALS

讀取TXT檔案內容,生成Excel檔案

 需要用到jar檔案:poi-3.0.1.jarpackage office; /** * 解析txt檔案,輸出到Excel檔案 * @author JavaAlpha * @date 2011-7-28 * @version V 1.0 */ import j

C# 讀取txt檔案資料,StreamReader.BaseStream.Seek後ReadLine()有錯誤的問題

readerPOSPath.BaseStream.Seek(n, SeekOrigin.Begin); linepos = readerPOSPath.ReadLine();//讀一行 按照上面的方法。Seek到指定位置後,緊接著ReadLine(),得到的結果有Seek之前的資料,也就是

Matlab讀取txt檔案中的資料使用textread函式

在使用Matlab處理資料時,我們經常需要讀取txt文件,可以使用Matlab中強大的textread函式。它的基本語法是:[A,B,C,...] = textread(filename,format)[A,B,C,...] = textread(filename,forma

C# wpsapi v9 將word轉成pdf

argument documents 不知道 bbs rom gen als on() try 我們不產生代碼只是代碼的搬運工 我們先來看一段跑不起來的代碼 ..各種未將對象應用到實例.. using System; using System.Collections.Ge

c++裡strcpy出錯,怎麼解決

C語::#include <string.h> C++語言:#include <cstring> 如果是在VS中,這個函式是不安全,可能造成緩衝區溢位,所以現在建議用strcpy_s來代替 如果仍想用可以選擇以下任何一種方法: 1、新建專案時不要勾選安全開發生命週期檢

C程式設計--指標swap函式

swap()函式 方法一:指標法 實參:&a 形參:*x #include<stdio.h> void MySwap(int *x,int *y); int main(){ int a=5,b=9; printf("交換前:a=%d,b=

C++中virtual虛擬函式的用法詳解

在面向物件的C++語言中,虛擬函式(virtual function)是一個非常重要的概念。因為它充分體現了面向物件思想中的繼承和多型性這兩大特性,在C++語言裡應用極廣。比如在微軟的MFC類庫中,你會發現很多函式都有virtual關鍵字,也就是說,它們都是虛擬函式。難怪有人甚至稱虛擬函

C語言學習筆記:printf函式詳解

C語言中有關printf()函式的詳細使用方法: 修飾符: - digit(s) :欄位寬度的最小值。如果該欄位不能容納要列印的數或者字串,系統就會使更寬的欄位。 如%4d。 - .digit(s):精度,將結果保留到小數點後的多少位。 - h: 和整數轉