파일 :코드 출력은 모두 단자 번호를 변경 할 수 있습니다 내가 다음 코드의 정맥에, 화면에 뭔가를 변경 수를 기록하는 C++ 프로그램이
stringstream ss, ssd; ss << 0; int decs=0; ssd << decs;
cout << "Number ";
for(int i=1;i<=1000;i++) {
cout << ss.str() << " Decades: " << decs; cout.flush();
int l=ss.str().length()+12+ssd.str().length();
for(int j=0;j<l;j++) cout << "\b";
this_thread::sleep_for (chrono::milliseconds(100));
ss.str(""); ss << i;
if(i%10==0) {
decs++; ssd.str(""); ssd << decs;
}
}
이 잘 작동하지만 때때로 (하지를 항상) 터미널 대신 파일에 출력을 보내고 싶습니다. 예를 들면 다음과 같습니다. ./prog > out.txt
. 여기서 백 스페이스 문자 \b
은 문자를 삭제하지 않지만 기호를 출력합니다 (인터넷 검색은 놀랄 일이 아닙니다).
하나의 옵션은 예를 들어 파일로 인쇄 할 때 계산 끝에서 데이터 만 출력합니다. 그러나 이것은 터미널/파일을위한 다른 코드를 필요로 할 것이다. 예를 들어 입력 매개 변수로 바꾸면된다. 터미널/파일 출력을위한 별도의 코드없이이 작업을 수행 할 수있는 방법이 있습니까? 나는 전체 문자열마다 작성 7.
나는 슬립 함수 나 C++ 11 스레드 대기를 쓸모없는 계산 대신 사용하려고합니다./ –
정확하게 파일에 쓰고 싶은 것이 무엇입니까? 예를 들어주세요. – Quest
정확히 어떤 문제입니까? "백 스페이스가 같은 방식으로 작동하지 않는다"는 것은 무엇을 의미합니까? 'string '의'.str' 멤버 함수를 사용하여'cout'과'ofstream'에 모두 쓸 수 있어야합니다. – vsoftco