C++의 탭 구분 파일을 읽고 각 줄을 레코드로 저장하는 가장 좋은 방법은 무엇입니까? 나는이 일을 돕기 위해 오픈 소스 라이브러리를 찾고 있었지만 성공하지 못해서 내 자신을 써야 할 것처럼 보였다.C++로 구분 된 파일 읽기
6
A
답변
17
typedef vector<vector<string> > Rows;
Rows rows;
ifstream input("filename.csv");
char const row_delim = '\n';
char const field_delim = '\t';
for (string row; getline(input, row, row_delim);) {
rows.push_back(Rows::value_type());
istringstream ss(row);
for (string field; getline(ss, field, field_delim);) {
rows.back().push_back(field);
}
}
이렇게하면 시작할 수 있습니다. 각 행에 같은 수의 필드가 있는지 검사하지 않고 field_delim
등을 이스케이프하도록 허용합니다.
+0
이 코드는 Visual Studio에서 작동합니다. 오류는 "C4430 : 누락 된 형식 지정자 - 가정"오류입니다. 문자열 포함 – tumchaaditya
+0
CentOS에서 g ++로 코드를 정상적으로 컴파일합니다. 작동하도록 추가하지 않은 내용이 확실하지 않습니다. – thaweatherman
5
iostream 사용에는 문제가 없습니다. getline을 사용하여 각 줄을 문자열로 읽은 다음 해당 문자열에 stringstream을 사용하여 필드를 반복 할 수 있습니다.
0
위키 피 디아의 기사 CSV_application_support에 나열된 라이브러리가 몇 개 있습니다.
관련 문제
- 1. C로 긴 ASCII 파일 읽기
- 2. 파일에서 C로 된 문자열로 복수 라인 읽기
- 3. vb.net의 구분 된 파일
- 4. Windows에서 C로 된 파일 검색
- 5. 다이나믹 액스의 쉼표로 구분 된 값 (csv) 파일 읽기
- 6. PHP로 MySQL 테이블에 탭으로 구분 된 텍스트 파일 읽기
- 7. Windows Powershell 탭으로 구분 된 파일 읽기 문제
- 8. 55 ig - 쉼표로 구분 된 파일 - mysql DB로 읽기
- 9. Objective-C로 SWF 헤더 읽기
- 10. C에서 Excel 파일 읽기
- 11. 경로가 세미콜론으로 구분 된 파일 목록 복사 souce 경로를 유지하는 대상 폴더로 구분 된 source.txt 파일
- 12. Objective-C로 파일 생성
- 13. C에서 세미콜론으로 구분 된 텍스트 파일에서 다른 데이터 읽기
- 14. Mochiweb : 업로드 된 파일 읽기
- 15. 청크로 된 CSV 파일 읽기
- 16. C에서 C로 파일 전처리 이식
- 17. fgets() 및 strtok()을 사용하여 쉼표 구분 기호로 파일 읽기
- 18. XML과 쉼표로 구분 된 텍스트 파일
- 19. 쉼표로 구분 된 Ant 파일 세트
- 20. 백 스페이스로 구분 된 플랫 파일
- 21. Excel 및 탭으로 구분 된 파일 질문
- 22. 작성기 및 읽기 검사기의 구분
- 23. \ tC++로 구분 된 한 쌍의 문자 읽기
- 24. Opencsv를 사용하여 "문자열"로 구분 된 값 읽기
- 25. 바이너리 파일 읽기
- 26. 탭으로 구분 된 파일의 인용문
- 27. 읽기 파일
- 28. 파일 읽기/쓰기 빠른 파일 읽기/쓰기
- 29. Vb6 : 탭으로 구분 된 텍스트 구분
- 30. .NET 및 Tab 구분 파일
내가 이것을 검색했을 때 나는 그런 간단한 일을 위해 어딘가에서 코드를 뽑을 수 없었다는 것에 놀랐다. 어쨌든, 나는 Stack Exchange에 대한 다른 답변을 바탕으로 내 솔루션을위한 블로그를 작성했습니다. [C++ Tidbits] (http://goo.gl/y0bOVv) – Wybird666