2011-08-26 10 views
0

ofstream을 사용하여 파일에 번호를 쓰는 데 문제가 있습니다. 숫자를 쓸 때 숫자 대신에 █ 같은 문자가 있습니다. 파일에 기록하는 방법은 다음과 같습니다.ofstream을 사용하여 파일에 쓰는 중 오류가 발생했습니다.

byte _b = 20; 
ofstream p_file; 
p_file.open("txt.txt", std::ios::app); 
p_file << _b;  

다른 방법이 있습니까? 아니면 다른 파일 작성기 방법을 사용할 수 있습니까? 감사.

편집 :

잘 작동

p_file << (int) _b; 
. 감사합니다.

+1

: 당신이 번호를 확인하려면

당신은 다른 계열 형식으로 캐스팅 할 수 있습니까? – Nawaz

+0

무슨 뜻입니까? – aborocz

+0

"바이트 란 무엇입니까?" "byte는 무엇입니까?"를 의미합니다. " typename'byte'는 언어에 내장되지 않은 ** 어딘가에 대신 정의되어야합니다. –

답변

6

나는 bytechar 또는 그 일부 변이임을 확신한다. 이 경우 _b을 코드 20 인 문자로 설정합니다. ASCII는 제어 문자입니다. 스트림 출력은 숫자가 아닌 문자를 출력하려고합니다. `byte`은 무엇입니까

p_file << static_cast<int>(_b); 
2

코드에 byte은 무엇입니까? 나는 이것이 unsigned char의 typedef라고 가정합니다. 참고 C++에는 데이터 형식으로 byte이 없습니다.

이면 p_file은 ASCII 값이 20 인 문자를 인쇄합니다. 그것이 파일에서 볼 수 있습니다. 당신이 그것을 대신 20을 인쇄하려면

는이 작업을 수행 :

p_file << (int)_b;  

또는 단순히 byte에서 int_b의 데이터 유형을 변경합니다.

0

변경

byte _b = 20; 

int _b = 20; 

byte 코드에서 어딘가에 아마 형식 정의 char이다.

관련 문제