Tengo el siguiente fragmento de código en C++.No se puede escribir un archivo binario
int arr[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
ofstream output("Sample.txt", ios::out | ios::binary);
for(int i = 0; i < 10; i++)
{
output<<arr[i];
}
Ahora el ejemplo.txt es así:
12345678910
no es el "ejemplo.txt" supone que es en binario? ¿Por qué no convierte todo en binario cuando abrí la secuencia en modo binario? Qué debo hacer, en caso de que necesite un binario de cada elemento de la matriz y luego imprimirlo en el archivo.
¿Qué quiere decir con "en binario"? – GManNickG
valores binarios para los enteros correspondientes en la matriz, por lo que si el entero en la matriz es 5, debe imprimir 101 en lugar de 5 – Jay
Bueno, debe usar la función 'write' para dar salida a los datos sin procesar. Pero con eso, * imprime * 101 (bueno, probablemente más como 0000000000000101) en el disco, pero lo que sea que esté usando para ver el archivo no mostrará realmente los de cero y uno en bruto. Los lectores de archivos de texto intentarán decodificarlo (con ASCII, por ejemplo), y es por eso que cuando abre archivos binarios en un editor de texto, ve basura confusa. Nunca se ve 1 y 0. Quizás un editor hexadecimal, que sí lo haga, sería más adecuado. – GManNickG