Autor
|
Tema: [?] Primeros 2 caracteres de un archivo (Leído 5,638 veces)
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
Hola chicos, quería saber como puedo modificar los dos primeros caracteres de un archivo, es decir, tengo un archivo que se llama Hola.txt y en el que pone:Hola.txt Holaquetal Y quiero copiar ese archivo modificando las dos primeras letras, para que quede por ejemplo así:
Adios.txt Rilaquetal Es decir, solo quiero que cambie las dos primeras letras del archivo original...
Espero que puedan ayudarme
Saludos
|
|
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
amchacon
Desconectado
Mensajes: 1.211
|
Abres el archivo y escribes los 2 caracteres. Acto seguido cierras el archivo.
|
|
|
En línea
|
|
|
|
daryo
|
y llevas algo de codigo si es asi ponlo? en c++ o c?
si no lee sobre la manipulacion de ficheros , yo prefiero por mucho c++ en el manejo de ficheros pero son gustos
|
|
|
En línea
|
buenas
|
|
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
Abres el archivo y escribes los 2 caracteres. Acto seguido cierras el archivo.
¬¬' (Conectate a Skype cuando puedas )en c++ o c?
En C++
|
|
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
daryo
|
#include <iostream> #include <fstream> using namespace std; int main() { char *buf; int tamano; string cadena; ifstream abrir("hola.txt"); // archivo a leer ofstream escribir("copia.txt"); // archivo a escribir //----------------------------- abrir.seekg(0,ios::end); // nos ponemos al final del archivo tamano=abrir.tellg(); //encuentro el tamano del archivo abrir.seekg(0,ios::beg); // ahora nos devolvemos al inicio buf=new char[tamano]; // le damos el tamaño a bof del archivo //----------------------------- abrir.read(buf,tamano); // guardamos el archivo en buf abrir.close(); buf[0]='r'; // primer caracter cambiado buf[1]='i'; escribir << buf; // escribimos el contenido de buf escribir.close(); }
|
|
« Última modificación: 14 Junio 2013, 15:22 pm por daryo »
|
En línea
|
buenas
|
|
|
|
|
MeCraniDOS
Desconectado
Mensajes: 337
Sr. Glass
|
Vale vale, pues mirare a ver que puede fallar, el codigo que tengo es este
void Cambiar() { char *buf; ifstream fichero_original; //Declaramos una variable para el fichero original ofstream fichero_final; //Declaramos una variable para el archivo que crearemos fichero_original.open("hola.txt", ios::binary); //Abrimos el archivo original en binario noskipws(fichero_original); //Leemos el archivo incluidos los espacios fichero_final.open("adios.txt", ofstream::binary); //Abrimos el archivo que estamos creando // Obtengamos tamaño fichero fichero_original.seekg(0,ios::end); unsigned long Tamanyo = fichero_original.tellg(); fichero_original.seekg(0,ios::beg); buf = new char[Tamanyo]; fichero_original.read(buf,Tamanyo); // Guardamos el archivo en buf fichero_original.close(); //Cerramos el fichero original buf[0]='R'; // primer caracter cambiado buf[1]='I'; // segundo caracter cambiado fichero_final << buf; // Escribimos el contenido de buf fichero_final.close(); //Cerramos el nuevo fichero }
Le he quitado cosas a la función y eso, y el archivo al que le intento cambiar las dos primeras letras es un archivo que pesa 2 Mb...
|
|
|
En línea
|
"La física es el sistema operativo del Universo" -- Steven R Garman
|
|
|
daryo
|
tu programa me funciona perfecto , que es exactamente lo que falla?
crea un hola.txt con una cadena al azar y adios.txt borralo para que el mismo programa lo cree
|
|
|
En línea
|
buenas
|
|
|
daryo
|
pues mira ya que lo que quieres es hacerlo con un ejecutable ( no hace falta que lo dijeras por pv ): void Cambiar() { char *buf; char caracter; ifstream fichero_original("notepad.exe", ios::binary); //Declaramos una variable para el fichero original fichero_original.seekg(0,ios::end); unsigned long Tamanyo = fichero_original.tellg(); fichero_original.seekg(0,ios::beg); buf = new char[Tamanyo]; fichero_original.read(buf,Tamanyo); // Guardamos el archivo en buf fichero_original.close(); //Cerramos el fichero original ofstream fichero_final("adios.exe", ios::binary); //Abrimos el archivo que estamos creando buf[0]='R'; // primer caracter cambiado buf[1]='I'; // segundo caracter cambiado fichero_final.write(buf,Tamanyo); fichero_final.close(); //Cerramos el nuevo fichero }
|
|
« Última modificación: 15 Junio 2013, 19:39 pm por daryo »
|
En línea
|
buenas
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
Eliminar los 3 primeros caracteres de un textbox en visual basic
Programación Visual Basic
|
ELGRANSOLRAC
|
4
|
12,445
|
16 Agosto 2005, 00:21 am
por .pUnÏsHEr.
|
|
|
borrar los 3 primeros caracteres
Programación Visual Basic
|
bautistasbr
|
5
|
2,181
|
13 Junio 2006, 21:09 pm
por NYlOn
|
|
|
leer 5 caracteres de una line de un archivo
Programación Visual Basic
|
ELGRANSOLRAC
|
1
|
1,843
|
11 Agosto 2007, 13:50 pm
por ~~
|
|
|
Caracteres incorrectos en el nombre de un archivo
Windows
|
Kubynx
|
5
|
6,462
|
15 Marzo 2011, 15:27 pm
por TheInfinityJoker
|
|
|
Remover primeros caracteres de una variable TCHAR
Programación C/C++
|
el_doctor
|
5
|
3,092
|
9 Diciembre 2014, 16:43 pm
por Eternal Idol
|
|