C++Fstream 파일 흐름 과 free open 재 설정 작업 튜 토리 얼

안녕하세요,이것 은 제 가 처음으로 블 로 그 를 쓰 는 것 입 니 다.여러분 들 의 많은 지지 바 랍 니 다!
본 고 는 작가 가 창작 한 문장 으로 몇 시간 동안 썼 기 때문에 전재 해 주 십시오.출처 를 밝 혀 주 십시오!
디 렉 터 리 freopen fstream 파일 흐름 freopen 재 설정
사용 방법:
freopen(“in.txt”,“r”,stdin);//in.txt 에서 읽 기
freopen(“out.txt”,“w”,stdout);//out.txt 로 출력
freopen(“CON”,“r”,stdin);//콘 솔 에서 읽 기
freopen(“CON”,“w”,stdout);//콘 솔 에 출력
fclose(stdin);//입력 을 닫 으 면 생략 할 수 있 지만 추가 하 는 것 을 권장 합 니 다.
fclose(stdout);//출력 을 닫 으 면 생략 할 수 있 지만 추가 하 는 것 을 권장 합 니 다.
기본 값 은 콘 솔(Command)에서 읽 고 출력 합 니 다!
실례

#include<iostream>
#include<cstdio>//freopen   cstdio   
using namespace std;

int main() {
	freopen("in.txt","r",stdin);// in.txt  
	freopen("out.txt","w",stdout);// out.txt  
	int a;
	cin >> a;
	cout << a;
	fclose(stdin);//    ,    ,     
	fclose(stdout);//    ,    ,     
	return 0;
}
코드 를 다 썼 습 니 다.우 리 는 컴 파일 했 지만,먼저 실행 하지 마 세 요.
그리고 in.txt 를 새로 만 들 고 안에 666 을 쓰 고 저장 하고 종료 합 니 다.
如图
그리고 우 리 는 main.exe 를 실행 한 후에 out.txt 를 엽 니 다.(2,3 초의 지연 이 있 을 수 있 습 니 다.리 셋 하면 됩 니 다)
如图
봐 라,성 공 했 어!
훨씬
stdin:표준 입력
stdout:표준 출력
"r":읽 기,읽 기
쓰다
fopen 이 비교적 귀 찮 기 때문에 나 는 군말 하지 않 고 다른 블 로 거들 의 글 을 보 러 갈 수 있다.
이 두 편 을 볼 수 있 습 니 다.
블 로그 에는 free ad 와 fwrite 도 있 으 니 참고 하 시기 바 랍 니 다.
장단 점
사용 이 편리 하지만 콘 솔 과 파일 사이 에서 전환 하 는 것 이 편리 하지 않 으 며,사용 후 system("cls")의 화면 정리 가 실 효 됩 니 다.
fstream 파일 흐름
fstream 을 사용 하려 면:

#include<fstream>
using namespace std;
두 구조 함수 의 원형:

basic_ifstream(const char* __s, ios_base::openmode __mode = ios_base::in)
basic_ofstream(const char* __s, ios_base::openmode __mode = ios_base::out|ios_base::trunc)
__s 는 파일 이름 을 대표 합 니 다.예 를 들 어"in.txt"도 절대 경로 일 수 있 지만 중국어 와 빈 칸 이 없 는 것 이 좋 습 니 다.(앞 프 리 오픈 도 마찬가지)
ios_base::openmode 는 속성 을 열 수 있 습 니 다.아래 의 몇 가지 값 일 수 있 습 니 다.
ios::in 입력(ifstream 기본 값)
ios::out 출력(ofstream 기본 값)
ios:app(append)을 끝 에 추가 합 니 다.
ios:ate(at end)끝에서부터
ios::trunc 는 덮어 쓰 고 없 으 면 만 듭 니 다.
ios::nocreate 는 글자 그대로 존재 하지 않 으 면 열 수 없습니다.
ios::noreplace 는 글자 그대로 존재 하면 열 수 없습니다.
ios::binary 는 바 이 너 리 형식 으로 열 리 거나 닫 힙 니 다.보통 무시 합 니 다.
여러 속성 을 중첩 하려 면 비트 나 연산 자|로 연결 하면 됩 니 다.
실례

#include<iostream>
#include<fstream>//fstream
using namespace std;

int main() {
	ifstream fin("in.txt", ios::in/*    */);
	ofstream fout("out.txt", ios::out | ios::trunc/*    */);
	int a;
	fin >> a;
	fout << a << endl;
	fin.close();
	fout.close();
	return 0;
}
방금 결과 와 마찬가지 로 그림 을 놓 지 않 겠 습 니 다.
ifstream fin 은 ifstream 대상 을 만 들 었 습 니 다.
ofstream fout 는 위 와 차이 가 많 지 않 습 니 다.
.close()꼭 넣 어 주세요!안 그러면 실수 할 수도 있어!!
여기 서 이렇게 이름 을 짓 는 것 은 단지 본인 의 습관 일 뿐 이 니 모두 다른 것 을 지어 도 된다.
구성원 함수
fstream 의 멤버 함 수 는 진심 이 많 군요.어쩐지 기능 이 강하 더 라 니!
여기 자주 쓰 는 것 만 소개 해 드 리 겠 습 니 다.
여 기 는 istream 만 소개 해 드 리 겠 습 니 다.ostream 은 기본적으로 같 습 니 다.

fin.open(const char* __s, ios_base::openmode __mode = ios_base::in);
구조 함수 와 차이 가 많 지 않 아 설명 하지 않 겠 습 니 다.

if (!fin/* fin.bad() !fin.good()*/) {
	cout << "Unable to open!" << endl;
	return 0;
}
이것 도 잘 알 겠 어 요.설명 안 해 요.

fin.eof()
fin.fail()
fin.bad()
fin.good()
네 개의 함수 반환 값 은 모두 bool 입 니 다.
파일 끝 에 있 으 면 eof 는 true 로 돌아 갑 니 다.
작업 에 실패 하면 fail 은 true 로 돌아 갑 니 다.
만약 eof 와 fail 이 모두 false 로 돌아간다 면 bad 는 false 로 돌아 갑 니 다.
bad 가 false 로 돌아 가면 good 는 true 로 돌아 갑 니 다.
매우 복잡 하 다,그렇지!사실 말 그대로 잘 알 아 요.
다양한 기능 이 있 으 니 여러분 스스로 탐색 하 세 요!
블 로 그 를 하나 더 추천 해 드 리 겠 습 니 다.여러분 이 직접 보 세 요.
그리고 좋 은 습관 을 들 여 파일 을 열 고 사용 하 시기 바 랍 니 다.

if(!fin) cout << "Fin open Fail" << endl;
if(!fout) cout << "Fout open Fail" << endl;
성공 여 부 를 확인 하 세 요!이렇게 하 는 것 이 가장 안전 하 다!
장단 점
조작 이 비교적 번거롭다.하지만 기능 이 많 고 강하 다!
총결산
C++Fstream 파일 흐름 과 freopen 리 셋 작업 튜 토리 얼 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 관련 C++Fstream 파일 흐름 과 freopen 리 셋 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기