#include <stdio.h>
#include <string.h>
#define MAXLEN 10240
//读取文件filename的内容到dest数组,最多可以读maxlen个字节
//成功返回文件的字节数,失败返回-1
int read_file(const char *filename, char *dest, int maxlen)
{
FILE *file;
int pos, temp, i;
//打开文件
file = fopen(filename, "r");
if( NULL == file )
{
fprintf(stderr, "open %s error\n", filename);
return -1;
}
pos = 0;
//循环读取文件中的内容
for(i=0; i<MAXLEN-1; i++)
{
temp = fgetc(file);
if( EOF == temp )
break;
dest[pos++] = temp;
}
//关闭文件
fclose(file);
//在数组末尾加0
dest[pos] = 0;
return pos;
}
int main(int argc, char **argv)
{
if( argc != 2 )
{
fprintf(stderr, "Using: ./read <filename>\n");
return -1;
}
char buffer[MAXLEN];
int len = read_file(argv[1], buffer, MAXLEN);
//输出文件内容
printf("len: %d\ncontent: \n%s\n", len, buffer);
return 0;
}
文件写入:
void write_file(){
FILE *fp;
fp =fopen(const char * path,const char * mode);
fprintf(fp,"%d",sum);
fclose(fp);
}
mode有下列几种形态字符串: r 打开只读文件,该文件必须存在。 r+ 打开可读写的文件,该文件必须存在。 rb+ 读写打开一个二进制文件,只允许读写数据。 rt+ 读写打开一个文本文件,允许读和写。 w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。 w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。 a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留) a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留) wb 只写打开或新建一个二进制文件;只允许写数据。 wb+ 读写打开或建立一个二进制文件,允许读和写。 wt+ 读写打开或着建立一个文本文件;允许读写。 at+ 读写打开一个文本文件,允许读或在文本末追加数据。 ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。