Usuwanie danych z 2 kolumn z csv

0

Mam problem, chcę napisać funkcję która usunie wszystkie dane z pierwszych 2 kolumn z pliku csv. Mam na razie taki kod, tylko on usuwa mi wszstkie dane -także w innych kolumnach - nie wiem dla czego i co zmienić?
Z góry bardzo dziękuje za pomoc!

void usuwanie() {
	std::string fileName = "C:/test.csv"; 

	std::ifstream inputFile(fileName);
	if (!inputFile.is_open()) {
		std::cerr << "Unable to open input file." << std::endl;
		return;
	}

	std::string line;
	std::stringstream newContents;

	while (std::getline(inputFile, line)) {
		std::istringstream iss(line);
		std::string value;

		// Pomijamy kolumnę A
		if (std::getline(iss, value, ',')) {
			// Pomijamy kolumnę B
			if (std::getline(iss, value, ',')) {
				while (std::getline(iss, value, ',')) {
					newContents << value;
					if (!iss.eof()) {
						newContents << ",";
					}
				}
				newContents << std::endl;
			}
		}
	}

	inputFile.close();

	std::ofstream outputFile(fileName);
	outputFile << newContents.str();
	outputFile.close();
}
1

@lifo:

Mnie by raziło, że to zupełnie astrukturalne. Bym przyjął dane do jakiejs struktury, i tam eliminował

Parsing jest nadmiernie uproszczony (nadmiernie optymistyczny) Wyłoży się na
... ,'Dyzio, Munio i Kompany', ...

1

Czy jest jakiś powód nie używania sed awk albo nawet cut https://unix.stackexchange.com/a/34648/31736

Jak bardzo poprawny ma być ten CSV? Quotes? Escape sequence? Wielolinijkowe pole?

W tej funkcji void usuwanie() za dużo się dzieje. Można to podzielić a mniejsze funkcje.

1 użytkowników online, w tym zalogowanych: 0, gości: 1