{"id":18951783,"url":"https://github.com/desmonhak/wl_lib","last_synced_at":"2026-05-06T11:37:58.000Z","repository":{"id":161731132,"uuid":"634935370","full_name":"desmonHak/WL_lib","owner":"desmonHak","description":"(Windows \u0026 Linux Library) permite un cierto alto nivel de funciones. Para no tener que lidiar con las cabeceras únicas de cada sistema","archived":false,"fork":false,"pushed_at":"2024-02-28T23:08:37.000Z","size":625,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-02T00:53:19.903Z","etag":null,"topics":["c","linux","windows"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/desmonHak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-05-01T15:31:49.000Z","updated_at":"2024-08-16T05:56:56.000Z","dependencies_parsed_at":"2025-02-21T03:28:48.245Z","dependency_job_id":"dde83afa-0698-412f-97d3-3fb1498cc516","html_url":"https://github.com/desmonHak/WL_lib","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/desmonHak/WL_lib","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmonHak%2FWL_lib","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmonHak%2FWL_lib/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmonHak%2FWL_lib/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmonHak%2FWL_lib/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/desmonHak","download_url":"https://codeload.github.com/desmonHak/WL_lib/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/desmonHak%2FWL_lib/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32692578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-06T08:33:17.875Z","status":"ssl_error","status_checked_at":"2026-05-06T08:33:17.221Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c","linux","windows"],"created_at":"2024-11-08T13:29:26.079Z","updated_at":"2026-05-06T11:37:57.979Z","avatar_url":"https://github.com/desmonHak.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# WL_lib \n\n-----\nWL_lib (Windows \u0026 Linux Library) Es una libreria que permite un cierto alto nivel de funciones, para no tener que lidiar con las cabeceras unicas de cada sistema.\n\nActualmente hemos creado una funcion `open_file` que nos permite abrir archivos independientemente del si el sistema es Linux o Windows, para la tarea, intenamente se usa las funciones de `fileapi.h` con su funcion `CreateFile` para abrir archivos en sistemas Windows, o en caso de ser un sistema linux donde se esta compilando, usar la clasica `fopen`. \n\nSe espera en un futuro hacer lo mismo con socket's, lo que deberia permitir la facilidad de escribir software multiplataforma que haga uso de estos\n\n----\n\n## I/O para archivos:\n\n### open_file\n\nPara poder abrir un archivo, usamos la funcion `open_file`, esta funcion recibe un puntero a una estructura de tipo `MyFile`. Aqui podemos ver un par de ejemplos:\n\n```C\n\n// Ejemplo 1:\nMyFile mi_archivo;    \nopen_file(\u0026mi_archivo, \"archivo.txt\", READ);\n\n// Ejemplo 2:\nMyFile* mi_archivo = (MyFile*) malloc(sizeof(MyFile));\nopen_file(mi_archivo,  \"archivo.txt\", READ);\n\n```\n\nLa funcion `open_file` no retorna ningun valor, aparte de la estructura de tipo `MyFile` recibe un valor de tipo `name_file` el cual a de ser el nombre del archivo y un tercer argumento `mode`\n\n```C\nvoid open_file(MyFile*, name_file, mode);\n```\n\n### read_file\n\nLa funcion `read_file` permite leer el contenido de un archivo. Recibe un puntero de una estructura de tipo `MyFile`, este a de ser el valor que se uso junto a `open_file` con el modo `READ` minimo para poder efectuar la lectura:\n```C\nvoid read_file(MyFile*);\n```\n\nEjemplo:\n\n```C\n\n// Ejemplo 1(mi_archivo sin malloc):  \nread_file(\u0026mi_archivo);\n\n// Ejemplo 2(mi_archivo con malloc):\nread_file(mi_archivo);\n\n```\n\n### get_data_file\n\nEsta funcion permite obtener los datos que se han leeido o se han escrito. recibe un objeto de tipo `MyFile`:\n\n```C\nchar *get_data_file(MyFile);\n```\n\nEjemplo\n```C\n\nprintf(\"Datos del archivo leeido: %s\\n\", get_data_file(mi_archivo));\n\n```\n\n### close_file\n\nEsta funcion es la encargda de cerrar el archivo tras realizar las operaciones con el mismo. Este recibe un puntero a una esstructura `MyFile`.\n```C\nvoid close_file(MyFile *)\n```\n\nEjemplo:\n```C\n\n// Ejemplo 1(mi_archivo sin malloc):  \nclose_file(\u0026mi_archivo);\n\n// Ejemplo 2(mi_archivo con malloc):\nclose_file(mi_archivo);\n\n```\n\n### write_file\n\nEsta funcion permite escribir datos en un archivo. Recibe un puntero a una estrcutura `MyFile` y un puntero de tipo `const char *` donde se alojen los datos a escribir en el mismo.\n\n```C\nvoid write_file(MyFile *my_file, const char *data);\n```\n\nEjemplo:\n```C\n\nconst char msg[] = \"Hola Mundo\\n\";\n\n// Ejemplo 1(mi_archivo sin malloc):  \nwrite_file(\u0026mi_archivo, msg);\n\n// Ejemplo 2(mi_archivo con malloc):\nwrite_file(mi_archivo, msg);\n\n```\n\n----","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdesmonhak%2Fwl_lib","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdesmonhak%2Fwl_lib","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdesmonhak%2Fwl_lib/lists"}