2012-12-23 2 views
0

데이터베이스와 유사하게 작동하는 프로그램을 작성 중입니다. 작업 번호, 이름, 성, 직무 설명 및 작업 기간이 필요합니다.긴 문자열 쓰기 및 읽기

설명을 위해 필자는 파일에서 단일 단어 문자열을 읽는 방법 만 알고 있습니다. 내 코드는 다음과 같습니다.

이 레이아웃을 사용하여 데이터를 삽입하고 파일을 닫은 다음 다시 열고 데이터가 저장되어 있는지 확인하고 다시 추가 할 수 있습니다. 그러나 jobTask은 한 단어 일 수 있습니다. 어쨌든 설명을 단어보다 길게 만들 수 있고 그래도 사용자 정의 형식의 파일에서 읽을 수 있도록 만들 수 있습니까? 예를 들어 jobTask은 "진단 및 복구"를 수행 할 수 있지만 파일에 입력하기 위해 실제로는 "수정"만 사용할 수 있지만 그 의미는있을 수 있습니다.

답변

0

파일 구성 방법이 문제가 될 수 있으므로 데이터를 구분하는 데 특정 문자를 사용하는 것이 좋습니다.

당신은 예를 들어 같은 것을 할 수있는 : 당신의 datas를 검색

프로그램에서
employee1=job_number:first_name:last_name:job_description:job_duration 
employee2=job_number:first_name:last_name:job_description:job_duration 
employee3=job_number:first_name:last_name:job_description:job_duration 
// etc.. 

, 당신은 다음 라인을 읽을 것이다 파싱 (당신의 버퍼에, 버퍼에 작업을 저장을 체크 문법, 등등 ...)을 지우고 지우고 새 줄을 읽으십시오.

단어가 공백으로 구분되지 않기 때문에 문제는 분명히 사라 졌을 것입니다. 아마 나중에 만났다.

iostream을 사용하면 작업이 쉽지만 아무런 문제가 발생하지 않습니다.

행운을 빌어 요.

+0

고맙습니다. 저는 C++을 처음 접했습니다. 그래서 당신이 방금 쓴 것을 이해하려고 노력할 것입니다. 너무 빨리 돌아와 줘서 고마워. 나는 그것을 구현하고 작동 시키려고 노력할 때 정답으로 표시하지 않을 것이다. 완료되면 곧바로 올바른 것으로 표시하고이 질문을 닫습니다. – TheAngryBr1t

+0

'regex'는 파싱에 도움이되는 C++ 11에 존재합니다. –