什麼是閱讀,當你知道會有很多的目錄中提取文本文件中的數據正確的方法是什麼?我知道你可以使用fopen()
來獲取指向該文件的指針,然後執行類似while(fgets(..) != null){}
的操作來從整個文件讀取數據,但是我怎樣才能從另一個文件讀取數據呢?我想遍歷目錄中的每個文件。讀取多個文本文件
Q
讀取多個文本文件
2
A
回答
2
山姆,你可以用執行opendir/readdir的如下面的小功能。
#include <stdio.h>
#include <dirent.h>
static void scan_dir(const char *dir)
{
struct dirent * entry;
DIR *d = opendir(dir);
if (d == 0) {
perror("opendir");
return;
}
while ((entry = readdir(d)) != 0) {
printf("%s\n", entry->d_name);
//read your file here
}
closedir(d);
}
int main(int argc, char ** argv)
{
scan_dir(argv[1]);
return 0;
}
這只是打開一個命令行上命名的目錄,並打印它包含的所有文件的名稱。但不是打印的名字,你可以爲你喜歡同時處理文件...
1
通常文件的列表被提供給程序在命令行上,並且因此被提供作爲第二個參數傳遞給主指針陣列中的()。即調用shell用於查找目錄中的所有文件,然後您的程序只是遍歷argv []來打開和處理(以及關閉)每一個文件。
見p。 「The C Programming Language」中的162,Kernighan和Ritchie,第二版,爲您可以使用的代碼提供了一個幾乎完整的模板。用該例中的filecopy()
函數替代您自己的處理。
如果你真的需要讀取直接從你的程序的目錄(或目錄),然後你要在執行opendir(3)和相關的功能在libc中讀了。某些系統還提供了一個稱爲ftw(3)或fts(3)的庫函數,這些函數也非常方便。
相關問題
- 1. 讀取多個文本文件java
- 2. 在多個文本讀取文件
- 3. 從多個文件讀取/寫入文本到主文件
- 4. 讀取大文本文件多線程?
- 5. Golang:讀取多行文本文件
- 6. 從文本文件中讀取多行
- 7. BASH - 從文本文件讀取多行
- 8. 如何多次讀取文本文件
- 9. 讀取多個文件(wavread)
- 10. Python:np.loadtxt,讀取多個文件
- 11. 多個文件讀取
- 12. 讀取多個RDS文件
- 13. 讀取多個excel文件
- 14. 讀取多個XML文件
- 15. 讀取多個文件
- 16. Haskell讀取多個文件
- 17. 從多行文本框中讀取多個文件
- 18. 從單個文本文件中讀取多個表?
- 19. 試圖讀取整個文本文件
- 20. VBS不讀取整個文本文件
- 21. 讀取一個文本文件到QStringList
- 22. 一個函數讀取文本文件
- 23. C++讀取整個文本文件
- 24. 蟒讀取文本文件
- 25. matlab中的多文本文本讀取
- 26. 讀取文本文件並將多行輸出到文本框
- 27. 從多個文件讀取多個CSV文件到熊貓DataFrame
- 28. 讀取多個文件並寫入多個輸出文件
- 29. 如何讀取一個文件並生成多個文本輸出文件
- 30. 讀取多個文本文件,並寫入到一個文件中的一列
的每個文件?除了pthreads,它可以讓你同時讀取許多文件,因爲你的機器上有核心,我不知道有什麼辦法。 – Shredderroy
難道你不能簡單地關閉第一個文件並繼續使用相同的指針來打開下一個文件並在循環中運行? – Kairan