Hola y bienvenido de nuevo.
En esta conferencia, quiero hablar sobre escribir en un archivo.
Nos vamos a concentrar al escribir en un archivo de texto.
De que vamos a aprender es cómo se pueden escribir caracteres, cómo se
pueden escribir cadenas y cómo puede escribir salida formateada.
Las tres formas también que pudimos leer.
Entonces hay tres funciones que realmente tienes que estar familiarizado
con el fin de hacer estas cosas.
La operación de escritura más simple es proporcionado en la función fputc.
Así que al igual que había un fgetc para leer caracteres,
hay un fputc para escribir caracteres.
Esto escribirá un sencillo carácter a un archivo de texto, fputc.
No es tan eficiente como escribir cadenas, pero a veces necesarias.
Toma un número entero como su primer parámetro y un puntero de archivo
como segundo parámetro y devuelve un número entero.
La función escribe el carácter especificado
por el primer argumento del archivo identificado por el segundo argumento.
Entonces el puntero de archivo representa lo que siempre hace: el archivo en
el que desea escribir.
Y luego el personaje que realmente quiere escribir
es su primer parámetro.
El carácter devuelto es lo que fue escrito si tiene éxito.
Recuerde, si devuelve eof, significa que fue un fracaso.
Si devuelve algo que no sea el eof, significa que fue un éxito.
En la práctica, los personajes son normalmente no se escribe en
un archivo físico uno por uno.
Es extremadamente ineficiente.
La función putc es la equivalente al fputc.
A menudo también ve que esto se usa.
Requiere los mismos argumentos y el tipo de retorno es el mismo.
La diferencia entre ellos es que el putc se puede implementar en
la biblioteca estándar como una macro.
Considerando que, fputc es una función así.
No hay muchas diferencias, pero no hemos aprendido acerca de las macros.
Así que nos vamos a quedar con fputc para escribir caracteres individuales.
Y por ejemplo, es muy claro.
Lo primero que tienes que hacer como siempre es que tienes que abrir el archivo.
Antes de eso, declaramos nuestro variables, declaramos un puntero de archivo,
debe inicializarse el nulo.
Y luego nuestro entero que vamos a escribir.
Cuando abramos nuestro archivo, observe que hacemos una w o una w más.
W significa que vamos a sólo escribe, no puedes leer.
W plus significa que puede escribir y leer.
En este caso, podemos escribir y leer.
Aquí tenemos un bucle for.
Estamos pasando por todos los caracteres que comienzan en 33 a 100.
Cuando estos son números enteros, ¿qué esto significa que el carácter está
representado en la tabla ASCII.
Entonces, si escribe un personaje, por ejemplo 59, tendrías que buscarlo en la
tabla ASCII para ver qué representa, pero sería un personaje real.
Aquí solo estamos escribiendo Valores ASCII de 33 a 100,
y estamos diciendo fputc char fp.
Y podrías usar la conversión funciones si desea
crear valores ASCII y enteros, puedes usar un atoi.
Entonces, si quisieras escribir el carácter c, podría decir fputc atoi y
luego poner c entre comillas simples.
Eso también estaría bien porque convertiría el ASCII en un
número entero y lo escribiría.
Pero el primer argumento es un número entero, entonces tienes que escribir un número entero.
El segundo argumento es nuestro archivo puntero, bastante sencillo allí.
Y luego lo último que tenemos que hacer lo que tenemos que hacer es cerrar ese archivo.
Probablemente también queremos establezca el puntero fp en nulo.
Pero de nuevo, se necesita un número entero.
Así que ten cuidado ahí.
Siempre esta representado en la tabla ASCII.
Pero puedes convertir el real caracteres dos enteros usando atoi.
¿Qué tal escribir una cadena? a un archivo de
texto, mucho más útil, más eficiente.
Aquí es donde usas la función fputs.
Esto te permitirá escribir en cualquier archivo o secuencia.
Es similar a los fgets, es toma una cadena de carga constante que desea
escribir como el primer parámetro al puntero.
Y se necesita un, como nuestro segundo parámetro, el puntero de archivo, en
qué archivo desea escribir.
Y luego devuelve un int.
Entonces el primer argumento es nuestro puntero la cadena de caracteres
que desea escribir.
El segundo argumento es el archivo puntero en sí, y la función
escribirá caracteres de una cadena hasta que llegue al terminador nulo.
No escribe el nulo carácter terminador en el archivo, por
lo que debe escribirlo explícitamente.
Esto puede complicar las cosas porque cuando vuelve a leer
los datos, podría ser de longitud variable y no terminará en el terminador nulo.
Así que tienes que ... Esperando
que escriba un línea de texto que tiene un carácter de
nueva línea al final.
Así que asegúrate de estar familiarizado con
el terminador nulo y escribirlo explícitamente usando fputc, un solo carácter o escríbalo y básicamente agregará el
carácter de nueva línea al final después de escribirlo.
Entonces está esperando eso nuevo carácter de línea para estar allí.
Tienes que especificar eso explícitamente.
Esto es bastante sencillo en términos de código.
Solo di fopen.
Fputs, escribe una cadena en el nueva línea usando el puntero de archivo.
Y luego otro fputs aquí escribe otra cuerda y luego la cierras.
Entonces, en este caso, escribimos dos cadenas, dos líneas de código en realidad o dos
líneas en el archivo y abrió el archivo con w plus que es
para leer y escribir.
Los ejemplos de escritura son muy claro.
Solo llamas a un par de funciones, fopen y luego fputs y luego fclose.
Ahora para escribir la salida formateada, vamos a utilizar fprintf.
De nuevo, notarás que con el scanf para leer e
ingresar y el printf, solo agrega eso fprefix antes de la función
y está escribiendo una salida formateada.
Entonces, para escribir salida formateada con fprintf, devuelve un número entero.
Toma una secuencia de archivos como primer parámetro
y luego se siguen los especificadores de formato por comas con número variable de
argumentos para cada formato especificador al igual que printf realmente.
El primer argumento de la función es el puntero al objeto de archivo.
Y luego el segundo argumento es esos números variables de argumentos.
Es una cadena de c que contiene uno o más de los
siguientes elementos, carácter de espacio en blanco, un espacio no en blanco carácter, especificadores de formato.
Y de nuevo, es muy similar a printf.
Pero en realidad estás escribiendo en un archivo.
Para que pueda escribir con formato salida a un archivo.
Si tiene éxito, volverá el número de caracteres escritos.
De lo contrario, va a devuelve un número negativo
si no tiene éxito.
Se parece a esto.
Incluye el encabezado IO estándar.
Creas tu puntero de archivo.
Luego usa su puntero de archivo para abrir algún archivo de texto, úselo para
w plus para leer y escribir y luego dices fprintf.
En este caso, estamos diciendo fprintf.
Estamos especificando el archivo puntero y luego estamos especificando cuatro cadenas
separadas por un espacio y luego un porcentaje d.
Y estamos escribiendo hola mi numero es 555.
Entonces el archivo va a tener los datos formateados cuando los escribe.
Veamos esto en bloques de código. y mira cómo se ve.
Entonces no hay mucho código aquí.
Solo tenemos unas pocas líneas de código.
En la línea cuatro, estamos creando nuestro puntero de archivo.
Y de nuevo, queremos inicialice esto a nulo.
Luego, en la línea seis, llamamos fopen.
Y decimos abrir archivo. txt, para que expediente. txt debe existir y donde
se esté ejecutando el archivo fuente c o si está ejecutando el
programa manualmente donde sea que esté el ejecutable.
Nos vamos a abrir para leer y escribir.
Después de que lo hayamos abierto queremos asegurarnos de que el
puntero del archivo no sea nulo.
Por eso queremos decir que no fp.
Si no es nulo, entonces puede empezar a escribir datos.
Y en este caso, en la línea 9, estamos va a escribir datos formateados.
Entonces, lo que vamos a escribir es vamos a escribir una cadena, dos
cadenas, tres cadenas, cuatro cadena y luego un número entero.
Y luego los siguientes parámetros son solo cadenas separadas por comas,
así como nuestro número entero al final.
Solo tengo que arreglar estos dobles comillas porque no funciona bien, por lo que
555 está justo al final.
Y luego se va a cerrar el archivo y devuélvalo.
Así que sigamos adelante e intentemos construir esto y ejecutarlo y no veremos ningún
resultado real para ejecutarlo.
Vamos a tener que mirar en el aspecto del archivo.
Entonces, cuando compilamos este archivo, desea asegurarse de que su declaración if
diga que no es igual a nulo.
Entonces, cuando ejecutamos esto, nuevamente, no verá ningún
resultado, simplemente se ejecutará.
Y luego, cuando miras el archivo dentro del directorio, verá que
contiene la entrada en un solo línea, hola mi nombre es fpp o al 555.
Entonces así es como puedes escribir salida formateada.
Es bastante sencillo.
Podrías agregar nuevos líneas si quisieras.
Agregará una nueva línea al final, pero podría poner una barra invertida n aquí.
Funciona igual que printf.
De nuevo, tenemos que ejecutarlo, Realmente no veo ningún resultado interesante hasta
que mire el archivo.
Y en ese caso, verá un salto de línea.
Entonces, escribiendo la salida en un archivo es bastante sencillo.
Quieres escribir personajes, tu
do fputc, desea escribir cadenas fputs, salida formateada fprintf.
Tendremos algunos desafíos que ayudarlo a familiarizarse aún
más con esto, pero es bastante fácil de escribir la salida en un archivo de texto.
Gracias.