Files
odwetalibc/include/file.h
T

36 lines
1.0 KiB
C

#ifndef FILE_H
#define FILE_H
#include <odweta/vector.h>
typedef struct {
char* path; // the file descriptor
int length; // line count
vector_t* lines; // 2d array of chars
int not_newline_terminated; // bool: 1 = true, 0 = false
} file_t;
file_t* fileInit(char* path); // initialization function
void fileCleanup(file_t* f); // just to be memory safe...
void filePrint(file_t* f); // prints the file as a string
char* fileToString(file_t* f); // returns a string with the file contents
void fileWriteln(file_t* f, char* payload); // appends a given string to the file on a newline
void fileWrite(file_t* f, char* payload); // appends a given string to the file (not on a newline!)
void fileCopy(file_t* src, char* dst); // copy file src into file dst
void fileDelete(file_t* f); // deletes a file
void fileMove(file_t* src, char* dst); // moves/renames a file
int fileExists(file_t* f); // 1 = yes, 0 = no
void fileCreateEmpty(char* path); // create an empty file with the given name
#endif