Hola y bienvenido.
En esta conferencia, quiero proporcionar una
solución a nuestro desafío anterior, que es convertir un archivo que contiene caracteres en
minúscula a un archivo que contiene caracteres en mayúscula.
Mientras tanto, crearemos un archivo temporal, por lo que tendremos
que cambiar el nombre y eliminarlo, etc.
Y el resultado final del programa va a ser el archivo.
Vamos a leer en el archivo que ya se convirtió en mayúsculas.
Así que abramos el código bloques, crea un proyecto.
Voy a decir nuevo proyecto, consola
aplicación, vaya a cy esto se llamará conversión de archivo en minúsculas.
Solo vamos a que este sea nuestro principal. C.
Queremos asegurarnos de que creamos nuestro encabezado estándar de
io porque vamos a leer y escribir y usando fopen y así sucesivamente.
Entonces, lo que siempre me gusta hacer es cree el archivo desde el principio.
Asi que aqui voy a definir una constante para mi nombre de archivo.
Llamemos a esto definir.
Y esta vez llamaremos prueba. texto.
Y entonces solo diremos el nombre del archivo está en mayúsculas.
Me gusta hacer esa convención.
Y luego voy a realmente crea el nombre del archivo en nuestro proyecto.
Así que de nuevo, almaceno mis archivos dentro de mi directorio de descargas.
Ahí es donde todo mi los proyectos se almacenan.
Y en este caso, tenemos un proyecto llamado conversión de archivo en minúsculas.
Voy a arreglarlo en el
mismo directorio, por lo que puedo ejecutarlo desde el IDE.
Voy a crear un nuevo archivo de texto.
Voy a nombrar esta prueba. texto.
Y lo voy a mencionar y solo voy a
poner algunos caracteres en minúsculas y mayúsculas.
Digamos que Jason está probando. Okey, Cualquiera que sea la prueba, algunas son mayúsculas, algunas son
minúsculas en el El resultado
final, estos siempre estarán en mayúsculas, otro desafío.
Aquí vamos.
Entonces el resultado final de esto los archivos se van a probar. txt con todo esto
en mayúsculas.
Pero lo vamos a salvar con algunas mayúsculas y otras minúsculas.
Ahora tenemos nuestro archivo creado ahora podemos
leer y escribir.
Voy a crear un par de archivos punteros con archivo archivo todo en mayúsculas y
minúsculas, y voy a decir star fp.
Voy a inicializar eso a nulo, y
luego voy a crear otro puntero de archivo estrella fp1 y también igual a nulo.
De nuevo necesito dos aquí porque Voy
a leer y escribir en archivos separados, un archivo temporal esencialmente.
También voy a crear un personaje variable, que será el
carácter que leemos usando fgetc.
Y solo dejaré eso también igual a null también o mejor aún,
lo dejaré como cadena vacía.
Lo primero que tengo que hacer es necesita abrir
el archivo en modo lectura para el primer archivo que es fp y el segundo archivo será un archivo temporal.
Entonces voy a decir que fp es igual a fopen.
Voy a usar el prueba de nombre de archivo. texto.
Así que el nombre del archivo y me voy para abrir solo para lectura.
Y luego quiero hacer seguro que esto es un nulo.
Entonces voy a decir si fp es igual a
nulo, entonces solo devolveré 1 negativo.
Entonces quiero crear mi archivo temporal.
Así que aquí voy a crea un archivo temporal.
Y en este caso voy a abre un archivo para escribirlo.
Entonces voy a usar mi puntero fp1, y voy a decir fopen.
A este solo lo llamaré temperatura texto, lo creará si
no existe.
Y luego voy a poner la w porque
voy a escribirle solo escribir.
De nuevo, lo que quiero hacer aquí es lo que quiero
asegurarme de que fp1 no sea igual a nulo.
Entonces voy a decir fp1.
Si es igual a nulo, entonces solo estoy va a devolver uno negativo.
Así que ahora abrí dos archivos, uno para leer, otro para escribir.
La escritura es para el archivo temporal.
Y lo que quiero hacer a continuación es querer para comenzar a leer desde el archivo y
luego escribir todas las mayúsculas.
Así que quiero agregar un bucle while a leer
y quiero decir mientras que el tipo de datos de caracteres ch es igual a fgetc,
y quiero leer de mi prueba. texto, así que fp y quiero hacer esto hasta que no llegue al final del archivo.
Entonces puedo decir que no es igual a eof.
Eof es una constante especial.
Dentro de mi bucle while, quiero compruebe si alguno de los caracteres que estoy leyendo
está en minúsculas.
Así que quiero decir si es un ch menor, si encuentro un
carácter en minúscula, entonces solo
quiero establecer el carácter en mayúsculas.
Entonces puedo decir que ch es igual a ch menos 32.
Esto convertirá al personaje a un carácter en mayúscula.
Luego, después de convertirlo, o está convertido o no, está en mayúsculas o no, entonces
yo quiero escribirlo en mi archivo temporal.
Entonces aquí puedo decir fputc.
Y solo puedo decir mi personaje que quiero escribir y el puntero de
archivo que es fp1.
Entonces, cada vez que leo un personaje, Lo estoy escribiendo en mi archivo temporal.
Y si está en minúsculas, estoy convirtiendo a mayúsculas y luego escribirlo.
Así que el final de este bucle while es Tengo un archivo
temporal que contiene todos los caracteres del prueba. texto con letras mayúsculas.
Y así he terminado con ambos esos archivos de lectura y escritura.
Entonces puedo decir fclose fp y fclose fp1.
Ahora quiero cambiar el nombre de mi temperatura archivo a mi prueba. Archivo de texto.
Así que aquí solo puedo decir cambiar el nombre, llamar a la función de
cambio de nombre, y puedo decir temp. texto eso es lo que quiero cambiar de nombre.
Y el que yo quiero renombrar es prueba. text o use mi constante
que es filename.
Todavía tengo mi archivo temporal creado.
Entonces quiero eliminar el archivo temporal.
Así que elimine el archivo temporal.
Aquí puedo llamar al remover función y pasarlo en temp. texto.
Y luego lo último que
quiero Que hacer es imprimir el contenido de mi prueba. archivo de texto, que se convertirá a mayúsculas.
En lugar de cerrar fp porque eso apunta a probar. texto, no pude cerrarlo ahora,
pude simplemente cierre fp1 porque fp1
era la temperatura. texto y ese es el uno que estoy cambiando de nombre y quitando.
En realidad tengo que cerrar porque le cambié el nombre.
Así que tendré que cerrar fp.
Así que ahora en la línea 43, quiero reabrir fp porque ahora quiero leer el
contenido e imprimirlo.
Entonces puedo decir el nombre del archivo fp fopen o lo siento nombre de archivo y quiero leerlo.
Así que solo voy a decir r.
De nuevo, quiero hacer seguro que no es nulo.
Y si es igual a nulo, quiero volver.
Y solo quiero decir devuelve uno negativo.
Podría imprimir alguna entrada.
Y luego aqui quiero leer los datos y simplemente imprímalos.
Entonces puedo hacer otro bucle while.
No hemos impreso nada todavía, así que
deberíamos ser capaces de decir while ch es igual a fgetc fp y no igual a eof.
Y lo que queremos hacer es solo quiero imprimir el cap.
Entonces podemos decir porcentaje c ch, y luego terminamos.
Y luego de nuevo, al final, queremos cerrar ese último archivo que es fp y
queremos establecer fp igual a nulo y fp1 igual a nulo.
Así que asegurémonos de que esto se construya.
Así que estamos listos para irnos.
Podemos compilar, poner un punto y coma en la línea de 54 tenía dos puntos allí.
Entonces, si pasamos por la espalda a través de este código, creamos
un par de punteros a archivos.
Tenemos nuestra constante.
Abrimos un archivo.
Lo leemos.
Y mientras leemos, escríbalo en un archivo temporal.
Luego borramos el archivo temporal.
Tenemos que borrar tanto el archivo estamos leyendo y el archivo temporal porque
tenemos que renombrar y eliminar.
No podemos llamar a renombrar o eliminar en un función o en un archivo que ya está abierto, así que
tenemos que cerrarlos.
Entonces volvemos a abrir y imprimimos los datos.
Entonces ejecutamos esto.
Deberíamos ver la salida con toda la información del personaje de.
Entonces, cuando ejecutamos este programa, lo que veremos es que imprime todo en mayúsculas.
Así que de nuevo, lo ejecutamos, imprime todo en mayúsculas.
Si miramos el archivo en disco, podemos mirar test. texto, y notaremos que ahora
contiene todo en mayúsculas.
Nuevamente, si quisiéramos cambiar esto y cambiar algunas más minúsculas.
Así que lo guardamos aquí está en minúsculas ejecutamos el programa
y convierte todo a mayúsculas.
Nuevamente, si ejecutamos esto, imprímalo en mayúsculas.
Lo miramos y está todo en mayúsculas.
Así que un pequeño programa agradable que convertirá los caracteres
en minúsculas a mayúsculas.
Bastante sencillo, somos usando nuestras funciones importantes
aquí, que son los punteros de archivo fopen.
Y luego usamos nice fclose eliminar y cambiar el nombre.
Y luego fopen y fgetc.
Si tienes alguna pregunta, Por favor envíame un correo electrónico.
Guardaré este archivo fuente como zip archivo para que pueda echarle un vistazo.
Gracias.