服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - C/C++ - c语言文件读写示例(c语言文件操作)

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

2021-01-14 17:56C语言教程网 C/C++

这篇文章主要介绍了c语言文件读写示例(c语言文件操作),需要的朋友可以参考下

方法:
 

复制代码 代码如下:

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, "http://www.zzvips.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);
}

延伸 · 阅读

精彩推荐