如何在C++中編寫代碼讀取.dat文件,這些文件包含文本數據(數字和用分隔符組織的字符)。是fstream標準庫的最佳選擇?我們如何定義文件路徑。第二個問題是,如果我想讀這些文件並將它們加載到SQL Server數據庫中,它會是不同的機制?如何在C++中讀取.dat文件
-10
A
回答
2
是的,你可以使用fstream來做到這一點。
以下是一些代碼,您可以使用 將數據拆分成由分隔符分隔的數組。只需將 DELIMITER更改爲您的分隔符。
#include <iostream>
using std::cout;
using std::endl;
#include <fstream>
using std::ifstream;
#include <cstring>
const int MAX_CHARS_PER_LINE = 512;
const int MAX_TOKENS_PER_LINE = 20;
const char* const DELIMITER = " ";
int main()
{
// create a file-reading object
ifstream fin;
fin.open("data.txt"); // open a file
if (!fin.good())
return 1; // exit if file not found
// read each line of the file
while (!fin.eof())
{
// read an entire line into memory
char buf[MAX_CHARS_PER_LINE];
fin.getline(buf, MAX_CHARS_PER_LINE);
// parse the line into blank-delimited tokens
int n = 0; // a for-loop index
// array to store memory addresses of the tokens in buf
const char* token[MAX_TOKENS_PER_LINE] = {}; // initialize to 0
// parse the line
token[0] = strtok(buf, DELIMITER); // first token
if (token[0]) // zero if line is blank
{
for (n = 1; n < MAX_TOKENS_PER_LINE; n++)
{
token[n] = strtok(0, DELIMITER); // subsequent tokens
if (!token[n]) break; // no more tokens
}
}
// process (print) the tokens
for (int i = 0; i < n; i++) // n = #of tokens
cout << "Token[" << i << "] = " << token[i] << endl;
cout << endl;
}
}
來存儲數據到數據庫中看一看MySql
+1
謝謝,這將是非常有用的 – Hawk 2013-03-20 16:58:26
0
那麼,你可以谷歌自己..但:只是做一些教程。 例如:http://www.cplusplus.com/doc/tutorial/files/ 而不是.TXT你只需打開.dat文件(既然你說只包含文本數據。)
在一個SQL數據庫中存儲的,我認爲這將是MySQL的現在: http://www.nitecon.com/tutorials-articles/develop/cpp/c-mysql-beginner-tutorial/
對於步驟:打開你的文件,打開數據庫連接,做一個INSERT INTO .... 完成。
相關問題
- 1. 在C++中讀取.dat文件
- 2. 在C++中讀取多個.dat文件
- 3. 如何從dat文件讀取數據?
- 4. Qt:C++:如何讀取「.dat」文件
- 5. 如何在一個文件夾中逐個讀取.DAT文件
- 6. 閱讀在C#中的dat文件
- 7. 如何讀取和解析C中的.dat文件?
- 8. 讀取.dat圖像文件
- 9. 讀取COBOL DAT文件
- 10. 如何讀取子文件夾中的dat文件
- 11. 如何在JavaScript中讀取.dat文件的內容?
- 12. 在一個.dat文件中無法讀取以創建第二個.dat文件
- 13. 如何讀取Java中的.dat文件並將該dat文件中的數據寫入文本文件?
- 14. C++文件I/O我無法讀取.dat文件
- 15. 從.dat文件讀取參數到C++中?
- 16. 如何在追加模式下從文件(.dat)讀取數據
- 17. gnuplot - 如何從dat文件中讀取&字符
- 18. 如何讀取xcode 4中的.dat文件?
- 19. 想知道如何從.dat文件中讀取對象
- 20. 閱讀Opera * dat文件Objective C
- 21. 通過GPU讀取多個.dat文件
- 22. 從Python讀取DBISAM「dat」文件
- 23. 錯誤地讀取dat文件
- 24. 從Dynamics ERP導出讀取.dat文件
- 25. 在php中讀寫dat文件
- 26. 如何在C#中讀取xml文件?
- 27. 閱讀C文件中的.dat文件缺失/重複記錄
- 28. (C++)使用ifstream將.dat文件讀取爲十六進制
- 29. 在C中讀取文件讀取#
- 30. 讀取.dat文件爲 「RB」 讀取二進制
你的問題提供足夠的細節來回答:不存在「.dat文件格式」,'.dat'是一個通用的文件擴展名。沒有「fstream庫」 - 你可能是指標準的庫類「std :: fstream」,但這個問題是一個重複術語:是的,你使用它,但這不會幫助你。最後,你沒有提供關於你正在處理的數據的信息,所以我們不知道如何將它們加載到SQL服務器中。 – 2013-03-20 15:56:32
@KonradRudolph文件包含文本,並以這種方式編寫,當我將它們加載到數據庫中時,每個文件將形成一個表格,它們包含|作爲分隔符來分隔列,我可以手動將擴展名更改爲txt並打開並讀取它們,我需要知道如何編寫C++代碼來讀取它們 – Hawk 2013-03-20 16:07:48
@jcarlos我之前沒有處理過文件,所以如果您推薦一些簡要教程我會很感激 – Hawk 2013-03-20 16:08:42