Getrule1.c

Iz E-študij, proste zakladnice študentskega znanja

Skoči na: navigacija, iskanje
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
 
void fatal_error(const char * s) {
    printf("NAPAKA: %s\n", s);
    exit(1);
}
 
char * read_file_into_buffer(const char * filename) {
    FILE * fp = fopen(filename, "r");
    if (fp == NULL) return NULL;
    fseek(fp, 0, SEEK_END);
    long length = ftell(fp);
    fseek(fp, 0, SEEK_SET);
    char * buffer = (char *) malloc(length + 1);
    fread(buffer, length, 1, fp);
    fclose(fp);
    buffer[length] = 0;
    return buffer;
}
 
char * create_string(const char * buf, int len) {
    char * s = (char *) malloc(len + 1);
    memcpy(s, buf, len);
    s[len] = 0;
    return s;
}
 
void skip_char(char ** buf, const char c) {
    while (**buf == c)
        (*buf)++;
}
 
void skip_chars(char ** buf, const char c1, const char c2) {
    while (**buf == c1 || **buf == c2)
        (*buf)++;
}
 
int main() {
    char * buffer = read_file_into_buffer("Makefile");
    if (buffer == NULL)
        fatal_error("TeĹžava pri branju Makefile datoteke.\n");
    printf("%s", buffer);
    free(buffer);
    return 0;
}
Vzpostavljeno iz »http://www.e-studij.si/Getrule1.c«
Osebna orodja
Imenski prostori
Različice
Dejanja
navigacija

Tiskanje/izvoz
orodja