Leer fichero C, linux: open, read , close
HTML-код
- Опубликовано: 16 янв 2025
- Programar en c linux. Abrir un fichero , leer un fichero.
Funciones open, read , close (llamadas al sistema)
Escribir en el fichero desde consola con "echo"
Qué es el descriptor de archivo
algunas aclaraciones que he olvidado ...
File descriptor: descriptor de archivo
open, read y close : realizan llamadas al sistema
echo es un comando del terminal con el que escribo en el archivo
Enamorado con esa voz y esa explicacion. Lo que me ayudan tus videos no tenes idea. Saludos desde 🇦🇷
Dios santo...me he enamorado de tu voz.
Muchas gracias por tus videos y la paciencia de explicar. Soy estudiante de la carrera de Contador Públicos, pero también me encantan estos temas.
Muchisimas gracias, este video es lo que estaba buscando para un trabajo de la Universidad. Gracias a este ejemplo tengo las pautas basicas. Saludos.
por fin alguien que explica programación para novatos
Vengo de Sistemas Operativos 2021 - 2022 de la UV =D
Muy buen video ! Te explicas bastante bien,
Gracias por el aprovado
Me alegra saber que aprobaste y que algún video te ayudo a entender algo!!
gracias por tu video me ayudo mucho bendiciones
Impresionante lección!
De lo bueno que explicas me encantaría que hagas tutoriales de Java porfavor o python por lo menos, esto ayudaría a nosotros y efectivamente crecer tu canal
Holaaa.
Gracias por el feedback. Python no lo descartaría peero me parece que hay ya muchos canales y lo veo explotado y de Java dudo que haga un video. En 12 años no lo he usado nunca y no creo que lo necesite en el futuro. Una duda, para que necesitas Java?
Buenos dias Amaia
Java, esque estoy aprendiendo programación y pues en mi curso se dando java (ya que es un lenguaje importante, WORA)
Si cierto hay varios canales de python e incluso de java pero cada uno tiene su manera de explicar las cosas y en tu caso se entiende mejor (aunque no soy Español nativo) pero que enseñas desde 0 para los principiantes pues merece la pena verlas, y si digo python porque es mas sencillo de coger y sería una suma en CV digo
Saludo
#include
int main ()
{
printf("Muchas gracias por el videotuto");
}
return
Tremendo vídeo! Qué clarito todo!!! Muchas gracias!
Me suscribo, btw.
Gracias por el video, muy bien explicado.
Buen vídeo
bien hecho!
uff me encanta tu voz, suscrito!
Hola pregunta existe alguna forma de leer y escribir al mismo tiempo (comunicacion bidireccional)? o hay que crear otro fd?
Hola
Si lo que quieres es abrir un fichero para poder leerlo y también escribir, debes utilizar el flag O_RDWR al abrirlo man7.org/linux/man-pages/man2/open.2.html.
Con lo de "al mismo tiempo (comunicación bidireccional)" no entiendo bien qué quieres hacer. Tal vez quieras comunicar dos procesos ? En ese caso puedes utilizar pipes, messaages queues, shared memory, ficheros...
Saludos
Hola una pregunta hay algún descriptor de archivo csc ?
pero que es exactamente el a.out , ahi compilas el archico que has escrito y ejecuta mifichero?????????
a.out es el ejecutable. El nombre "a.out" es el nombre que se genera por defecto al compilar con gcc si no se especifica un nombre concreto. Si recuerdo bien lo ecplico en el video
ruclips.net/video/L5KW0MugCug/видео.html
"mifichero" se le.
Enamorao me tienes con tu voz y tu forma de explicarte!
Por cierto, por qué no poner el tamaño del buffer a 5 como el máximo de caracteres en vez de a 10?
Hola!
Gracias.
Si, podrías hacer el buffer mas pequeño.
Además, si vas a seguir operando con ese buffer de chars, hay que tener en cuenta que los strings en C deben estar terminados en '/0', algunas funciones sino generaran error, como strlen()... o sea hay que prever un byte de más.
tenia un problema con open y es que a pesar de especificar en el segundo parámetro "O_CREAT | O_TRUNC | O_RDWR", no podia leer o escribir en el archivo cuando lo abria manualmente, después de googlear entendí que el tercer parametro de open se utiliza precisamente para asignar los permisos que yo necesitaba, en mi caso como tercer parametro "S_IRWXU". Dejo mi comentario por si le sirve a alguien en el futuro.
Hola, sigo lo mismos pasos pero cuando agrego el comando ./a.out me sale (El numero de caracteres es -1), como hago para que leea el archivo nuevo?? porque se me hace que esta en otro o nose cual sera el error.
size_t es un alias para unssigned int segun recuerdo. Podria ser algo parecido a ssize_t
El comando ll en MS-DOS?
ssize_t es un tipo de dato que contempla bytes, pero teniendo en cuenta el valor -1. Cuando read devuelve 0, significa que ha llegado al final del archivo, y ese else, no es correcto del todo, porque en caso de que read devuelva -1, significa que se ha producido un error de lectura, lo cual es importante.
Hola.
No recuerdo bien como era el ejemplo, es antiguo, pero sí, tienes razón, el - 1 siempre debe manejarse.
En un programa real siempre debe comprobar se que el valor retornado no implica error y si fuera así tomar una acción necesaria, talvez exit con error code, y loguear el error correspondiente por ejemplo.
Saludos
@@WhileTrueThenDreamsupongo que manejar el error como corresponda, eso ya no lo sé. Pero el ejemplo está bien, solo esas dos cosas que me han llamado la atención al ver el vídeo. Gracias!
Si mi fichero fuera mucho más grande como ejemplo de 3000 carácteres , en la función read para el buffer como tendría que hacerlo ? Muy buen video y bien explicado por cierto 👏👏👏
Hola.
Si necesitas buffer muy grande es conveniente usar "dynamic memory allocation" asignación de memoria dinámiica con malloc. Hacer tiempo hice algùn vídeo sobre el tema.
Saludos
me zuenas
No me boerrres los comentarios plis te qum