iostream
데이터베이스 구현
아이디어 csv 문서를 파싱해 https://jartlife.tistory.com/53 csv 문서 파싱 csv 파일 csv(comma-separated values) 파일은 쉼표로 구분되는 문자열을 나열한 파일 형식이다. 엑셀과 메모장에서 csv파일을 쉽게 보고 편집할 수 있다. 데이터베이스를 csv 파일로 구축하면 각 필드를 jartlife.tistory.com stringstream 으로부터 https://jartlife.tistory.com/55 std::stringstream 을 통해 문자열을 값으로 문자열을 값으로 int, double, long 같은 primitive 자료형은 헤더만 추가하면 얼마든지 std::stoi, std::stod, std::stol 과 같은 함수를 통해 문자열을 실제..
std::iostream 으로 std::tuple 입출력하기
istream& operator>>, ostream& operator> 연산자를 오버로딩하지 않았으므로 std::istream 으로 std::tuple 을 입력받을 수는 없다. 같은 논리로 std::ostream 에 std::tuple 을 출력할 수도 없다. 따라서 std::istream 과 std::tuple 을 받는 operator>> 를 사용자가 오버로딩하면 충분히 std::istream 으로 std::tuple 을 입력받을 수 있고, std::ostream 과 std::tuple 을 받는 operator get( tup ); ss >> get( tup ); ss >> get( tup ); ss >> get( tup ); cout
std::stringstream 을 통해 문자열을 값으로
문자열을 값으로 int, double, long 같은 primitive 자료형은 헤더만 추가하면 얼마든지 std::stoi, std::stod, std::stol 과 같은 함수를 통해 문자열을 실제 값으로 변환할 수 있다. 그러나 각각의 함수 이름을 외워야 하는 것은 물론, 사용자 정의 클래스로 변환해주는 함수는 존재하지 않는다는 단점이 있다. stringstream std::stringstream 을 입력하면 문자열을 입출력 스트림처럼 다룰 수 있다. ( 입출력 스트림은 std::cin 과 std:: cout 으로 대표된다. ) 스트림에 출력된 내용은 스트림 내부에 문자열로 변환되어 저장되고 스트림에서 입력받을 때에는 문자열을 꺼내와 입력받을 객체의 타입에 맞게 변환한다. std::iostream 을 ..
csv 문서 파싱
csv 파일 csv(comma-separated values) 파일은 쉼표로 구분되는 문자열을 나열한 파일 형식이다. 엑셀과 메모장에서 csv파일을 쉽게 보고 편집할 수 있다. 데이터베이스를 csv 파일로 구축하면 각 필드를 쉼표로 구분하여 튜플들을 저장할 수 있다. 작성 규칙 각 필드는 띄어쓰기 없이 , 로 구분한다. 각 튜플은 개행문자 \n, \r 로 구분한다. 문자열 필드일 경우 " " 로 감싼다. 문자열 내에서 " 를 사용할 때에는 "" 와 같이 두 번씩 쓴다. 문자열 내에서의 ,(쉼표), \n, \r 는 구분자가 아닌 문자열 내의 문자로 취급한다. 집합 필드일 경우 { } 로 감싸고, , 대신 공백(띄어쓰기, 탭, 개행문자)으로 구분한다. 예시 "월요일","화요일","수요일","목요일" 200,..