在C++中,可以使用文件流和字符串處理來讀取CSV文件中的指定行和列。下面是一個示例代碼,演示了如何讀取CSV文件中的指定行和列:
#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
int main() {
// 打開CSV文件
std::ifstream file("data.csv");
// 檢查文件是否成功打開
if (!file.is_open()) {
std::cerr << "Error opening file!" << std::endl;
return 1;
}
// 指定要讀取的行和列
int targetRow = 2;
int targetCol = 3;
// 讀取文件內容
std::string line;
int row = 0;
while (std::getline(file, line) && row <= targetRow) {
if (row == targetRow) {
// 使用字符串流來分割每一行的數據
std::stringstream ss(line);
std::string cell;
int col = 0;
while (std::getline(ss, cell, ',') && col <= targetCol) {
if (col == targetCol) {
// 輸出指定行和列的數據
std::cout << "Row " << targetRow << ", Col " << targetCol << ": " << cell << std::endl;
}
col++;
}
}
row++;
}
// 關閉文件
file.close();
return 0;
}
在這個示例中,我們打開了一個名為"data.csv"的CSV文件,并指定要讀取的行和列(第二行、第三列)。然后我們逐行讀取文件內容,使用字符串流來分割每一行的數據,并輸出指定行和列的內容。最后關閉文件。
請注意,該示例假設CSV文件中的數據是逗號分隔的。如果數據是以不同的分隔符(例如分號或制表符)進行分割,則需要相應調整代碼中的分隔符。