|
|
|
@ -0,0 +1,56 @@
|
|
|
|
|
#include <iostream>
|
|
|
|
|
#include "CSVReader.h"
|
|
|
|
|
|
|
|
|
|
using namespace std;
|
|
|
|
|
|
|
|
|
|
// 测试按行读取
|
|
|
|
|
void testReadByLine(const string& filename) {
|
|
|
|
|
cout << "=== 测试按行读取 ===" << endl;
|
|
|
|
|
CSVReader reader(filename);
|
|
|
|
|
vector<CSVRow> rows = reader.readByLine();
|
|
|
|
|
for (const auto& row : rows) {
|
|
|
|
|
for (const auto& cell : row.data) {
|
|
|
|
|
cout << cell << " ";
|
|
|
|
|
}
|
|
|
|
|
cout << endl;
|
|
|
|
|
}
|
|
|
|
|
cout << "=== 按行读取测试结束 ===\n" << endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 测试按块读取
|
|
|
|
|
void testReadByBlock(const string& filename, int blockSize) {
|
|
|
|
|
cout << "=== 测试按块读取(块大小: " << blockSize << " 行) ===" << endl;
|
|
|
|
|
CSVReader reader(filename);
|
|
|
|
|
vector<CSVRow> rows = reader.readByBlock(blockSize);
|
|
|
|
|
for (const auto& row : rows) {
|
|
|
|
|
for (const auto& cell : row.data) {
|
|
|
|
|
cout << cell << " ";
|
|
|
|
|
}
|
|
|
|
|
cout << endl;
|
|
|
|
|
}
|
|
|
|
|
cout << "=== 按块读取测试结束 ===\n" << endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// 测试按字节读取
|
|
|
|
|
void testReadByByte(const string& filename, int byteSize) {
|
|
|
|
|
cout << "=== 测试按字节读取(字节数: " << byteSize << ") ===" << endl;
|
|
|
|
|
CSVReader reader(filename);
|
|
|
|
|
string bytes = reader.readByByte(byteSize);
|
|
|
|
|
cout << "读取的字节内容: " << bytes << endl;
|
|
|
|
|
cout << "=== 按字节读取测试结束 ===\n" << endl;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
int main() {
|
|
|
|
|
string filename = "example.csv"; // 测试文件路径
|
|
|
|
|
|
|
|
|
|
// 测试按行读取
|
|
|
|
|
testReadByLine(filename);
|
|
|
|
|
|
|
|
|
|
// 测试按块读取
|
|
|
|
|
testReadByBlock(filename, 2); // 读取 2 行
|
|
|
|
|
|
|
|
|
|
// 测试按字节读取
|
|
|
|
|
testReadByByte(filename, 10); // 读取 10 个字节
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|