首页 > 编程 > C > 正文

c语言文件读写示例(c语言文件操作)

2020-01-26 15:37:01
字体:
来源:转载
供稿:网友

方法:

复制代码 代码如下:

long filesize(char* filename);
char* file_get_contents(char* filename);
void file_put_contents(char* filename, char* data);

示例:

复制代码 代码如下:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
long filesize(char* filename);
char* file_get_contents(char* filename);
void file_put_contents(char* filename, char* data);

int main() {
    printf("%s/n", "----------------Begin---------------");
    char* filename = "/tmp/tmp.txt";
    file_put_contents(filename, "//www.VeVB.COm");
    char* data = file_get_contents(filename);
    printf("Fd::  %s/n", data);
    printf("%s/n", "----------------End-----------------");
    return 0;
}

long filesize(char* filename) {
        long length;
        FILE* stream = fopen(filename, "rb");
        if(!stream) return 0L;
        fseek(stream, 0L, SEEK_END);
        length = ftell(stream);
        fclose(stream);
        return length;
}

char* file_get_contents(char* filename) {
        FILE* fp = fopen(filename, "rb");
        if(!fp) {
                printf("%s/n", "The file can not be opened.");
                exit(0);
        }

        long length = filesize(filename);
        char* buffer = (char*) malloc(length);
        char buf[1024];
        memset(buffer, 0x00, sizeof(buffer));
        fseek(fp, 0L, SEEK_SET);
        while(fgets(buf, 1024, fp) != NULL)
        strcat (buffer, buf);

        fclose(fp);
        return buffer;
}

void file_put_contents(char* filename, char* data) {
    FILE* fp = fopen(filename, "w+");
    if(!fp) {
        printf("The file can not be opened./n");
        exit(1);
    }
    fputs(data, fp);
    fclose(fp);
}

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选