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.jb51.net");
    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);
}

(0)

相关推荐

  • C语言 文件操作解析详解及实例代码

    C语言文件操作解析 在文件操作中除了打开操作以及读写操作,还有几种比较常见的操作.下面介绍一下这些操作中涉及到的函数. 一.移动位置指针的函数 rewind函数和fseek函数,这两个函数的原型是: void rewind(FILE *fp);     将位置指针移动到文件首 int fseek(FILE *fp,long int offset,int origin);   将位置指针移动到距离origin的offset字节数的位置 其中对于fseek函数中的参数,origin为起始点,offs

  • C语言文件操作函数freopen详细解析

    今天做USACO  用到了文件的操作. 之前做USACO只是格式化的些 写  freopen("xxx.in","r",stdin)  和"freopen("xxx.out","w",stdout)" 百度百科上是这么介绍的: 函数名: freopen 功 能: 替换一个流,或者说重新分配文件指针,实现重定向.如果stream流已经打开,则先关闭该流.如果该流已经定向,则freopen将会清除该定向.此函数

  • C语言文件操作函数大全(超详细)

    fopen(打开文件)相关函数 open,fclose表头文件 #include<stdio.h>定义函数 FILE * fopen(const char * path,const char * mode);函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态.mode有下列几种形态字符串:r 打开只读文件,该文件必须存在.r+ 打开可读写的文件,该文件必须存在.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该文件.w

  • C语言文件操作 fopen, fclose, mkdir详解

    1.建文件夹 int _mkdir(const char *path,mode_t mode); 函数名: _mkdir 功 能: 建立一个目录 用 法: int _mkdir( const char *dirname ); 头文件库:direct.h 返回值:创建一个目录,若成功则返回0,否则返回-1 ===================================================== 2.打开文件fopen() 函数功能: 打开一个文件 函数原型:FILE * fope

  • c语言程序设计文件操作方法示例(CreateFile和fopen)

    实例: (1)第一种方法CreateFile 复制代码 代码如下: #include "stdafx.h"#include <windows.h>void main(int argc, char* argv[]){      HANDLE hDevice = CreateFile("C://S.txt",            GENERIC_READ|GENERIC_WRITE,            0,            NULL,      

  • C语言文件操作中 fgets与fputs 函数详解

    C语言文件操作中 fgets.fputs 函数详解 先给出api fgets 语法: #include <stdio.h> char *fgets( char *str, int num, FILE *stream ); 函数fgets()从给出的文件流中读取[num - 1]个字符并且把它们转储到str(字符串)中. fgets()在到达行末时停止,在这种情况下,str(字符串)将会被一个新行符结束. 如果fgets()达到[num - 1]个字符或者遇到EOF, str(字符串)将会以nu

  • 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)

  • Go语言基础Json序列化反序列化及文件读写示例详解

    目录 概述 JSON序列化 结构体转JSON map转JSON 切片转JSON JSON反序列化 JSON转map JSON转结构体 JSON转切片 写JSON文件 map写入JSON文件 切片写入JSON文件 结构体写入JSON文件 读JSON文件 解码JSON文件为map 解码JSON文件为切片 解码JSON文件为结构体 示例 概述 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的.键值对的数据交换格式.结构由大括号'{}',中括

  • R语言rhdf5读写hdf5并展示文件组织结构和索引数据

    前言 h5只是一种简单的数据组织格式[层级数据存储格式(HierarchicalDataFormat:HDF)],该格式被设计用以存储和组织大量数据. 在一些单细胞文献中,作者通常会将分析的数据上传到GEO数据库保存为.h5格式文件,而不是我们常见的工程文件(rds文件,表格数据等),所以为了解析利用这些数据需要对hdf5格式的组织结构有一定的了解. (注:在Seurat包中有现成的函数Seurat::Read10X_h5()可以用来提取表达矩阵,但似乎此外无法从h5文件中提取更多的信息). G

  • php使用多个进程同时控制文件读写示例

    复制代码 代码如下: <?php/** * 写入数据 * @param  [string] $path [文件路径] * @param  [string] $mode [文件打开模式] * @param  [string] $data [数据] * @return [bool]        */function writeData($path, $mode, $data){       $fp = fopen($path, $mode);       $retries = 0;       $

  • Python编程中的文件读写及相关的文件对象方法讲解

    python文件读写 python 进行文件读写的内建函数是open或file file_hander(文件句柄或者叫做对象)= open(filename,mode) mode: 模式    说明 r        只读 r+      读写 w       写入,先删除源文件,在重新写入,如果文件没有则创建 w+     读写,先删除源文件,在重新写入,如果文件没有则创建(可以写入写出) 读文件: >>> fo = open("/root/a.txt") >

  • R语言-如何读写带分隔符的文件

    有众多的格式和文本文件标准可用于存储数据.用于存储数据的通用格式为分隔符值(即CSV或制表符分割文件).可扩展标记语言(XML).JavaScript对象表示法(JSON) 将数据存储在文本文件中的主要优点是:他们可被几乎所有的其他数据分析软件或人读取 R语言提供丰富的函数来读取不同格式的数据,包括: 文本文件(TXT文件) 逗号分隔文件(CSV文件) TXT文件--read.table() 矩形(类似电子表格的)数据通常存储在带有分隔符的文件中,特别是逗号分隔值(CSV)和制表符分隔值文件.r

  • Android NDK开发(C语言-文件读写)

    目录 1.文件读写 1.1打开文件 1.2关闭文件 1.3读取文件 1.4写入文件 1.5读写二进制I/O文件 1.6获取文件的大小 1.7文本简单加密.解密 1.8二进制文件简单加解密 1.文件读写 一个文件,无论它是文本文件还是二进制文件,都是代表了一系列的字节.C 语言不仅提供了访问顶层的函数,也提供了底层(OS)调用来处理存储设备上的文件. 1.1打开文件 我们可以使用 fopen( ) 函数来创建一个新的文件或者打开一个已有的文件,这个调用会初始化类型 FILE 的一个对象,类型 FI

  • Java IO 之文件读写简单实例

    Java IO 之文件读写简单实例 1.文件读 public class ReadFromFile { /** * 以字节为单位读取文件,常用于读二进制文件,如图片.声音.影像等文件. */ public static void readFileByBytes(String fileName) { File file = new File(fileName); InputStream in = null; try { System.out.println("以字节为单位读取文件内容,一次读一个字

  • 详解python中的异常和文件读写

    Python异常 1.python异常的完整语法 try: # 提示用户输入一个整数 num = int(input("输入一个整数:")) # 使用 8 除以用户输入的整数并且输出 result = 8 / num print(result) except ValueError: print("请输入正确的整数!") except Exception as result: print("未知错误:%s" % result) else: prin

  • C/C++ Qt 基本文件读写的基本使用(2种实现)

    目录 QT基本文件读写 QTextStream 实现流读写 文件的读写是很多应用程序具有的功能,甚至某些应用程序就是围绕着某一种格式文件的处 理而开发的,所以文件读写是应用程序开发的一个基本功能. Qt文件操作有两种方式,第一种使用QFile类的IODevice读写功能直接读写,第二种是利用 QFile和QTextStream结合起来,用流的方式进行文件读写. 第一种,利用QFile中的相关函数,实现对文件的读写操作,QFile会调用IODevice设备,从而实现文件读写. QT基本文件读写 通

随机推荐