一个修改文件中指定内容的程序

下面是一个修改文件中指定内容的程序,这里面主要用到了以下几个函数:

FILE * fopen(const char * path,const char * mode);

size_t fread ( void *buffer, size_t size, size_t count, FILE *stream)
;

buffer:用于接收数据的内存地址;

size:要读的每个数据项的大小,单位为字节;

count:要读的数据项的个数;

stream:输入流。

size_t fwrite(const void* buffer, size_t size, size_t count, FILE*
stream);

int
fseek(FILE *stream, long offset, int fromwhere);

函数设置文件指针stream的位置。如果执行成功,stream将指向以fromwhere(偏移起始位置:文件头0(SEEK_SET),当前位置1(SEEK_CUR),文件尾2(SEEK_END))为基准,偏移offset(指针偏移量)个字节的位置。如果执行失败(比如offset超过文件自身大小),则不改变stream指向的位置。

程序代码如下:

#include
<stdio.h>

#include <time.h>

#include <unistd.h>

#include <fcntl.h>

int main()

{

time_t starttime = time(NULL);

FILE *fd;

fd = fopen("/file2.txt","r+");

if (fd == NULL)

{

printf("fail open file1.txt\n");

return -1;

}

//下面部分为写文件

/*int i = 0;

int j = 0;

for (i = 0;i < 1310720 ;++i)

{

char buf[11] = "0123456789";

fwrite(buf,sizeof(buf),1,fd);

}*/

//下面部分为修改指定内容

char a;

int count = 0;

while(fread(&a,sizeof(char),1L,fd)==1)

{

if (a == ‘9‘)

{

a = ‘1‘;

fseek(fd,-sizeof(char),SEEK_CUR);

fseek(fd,0L,SEEK_CUR);

fwrite(&a,sizeof(char),1L,fd);

if (655360 == count++)

break;

}

}

time_t endtime = time(NULL);

printf("time = %g\n",endtime-starttime);

}

时间: 2024-10-18 17:09:23

一个修改文件中指定内容的程序的相关文章

python 修改文件中的内容

在python的文件操作中,是没有办法对文件中具体某行或者某个位置的内容进行局部的修改的,如果需要对文件的某一行内容进行修改,可以先将文件中的所有的内容全部读取出来,再进行内容判断,是否是需要修改的内容,如果是就替换内容,并且将修改替换过的内容和没有修改的内容全部写入到新的文件中. # 打开旧文件 f = open('file_text.txt','r',encoding='utf-8') # 打开新文件 f_new = open('file_text_bak.txt','w',encoding

操作文件-修改文件中的内容

import os geci=open("a.txt",encoding="utf-8")new_geci=open("a1.txt","w",encoding="utf-8")for line in geci: change=line.replace("一","1") new_geci.write(change)geci.close()new_geci.close(

修改文件中的内容,使用fileinput模块

import fileinput filename = 'passwd' for line in fileinput.input(filename,inplace=1,backup='.bak') print line.replace('root','ROOT')

Java之递归遍历目录,修改指定文件的指定内容

EditProperties.java 1 package PropertiesOperation.Edit; 2 3 import java.io.File; 4 5 /** 6 * 替换指定Porpoerties文件中的指定内容 7 * 三个参数: 8 * filePath:存放properties文件的目录 9 * srcStr:需要替换的字符串 10 * desStr:用于替换的字符串 11 * */ 12 public class EditProperties { 13 private

Java IO把一个文件中的内容以字符串的形式读出来

代码记录(备查): /** * 把一个文件中的内容以字符串的形式读出来 * * @author zhipengs * */ public class FileToString { public static void main(String[] args) { System.out.println(readFileToString()); } private static String readFileToString() { // new 一个空文件,用于获取路径 File dirs = ne

java中的文件读取和文件写出:如何从一个文件中获取内容以及如何向一个文件中写入内容

1 2 3 import java.io.BufferedReader; 4 import java.io.BufferedWriter; 5 import java.io.File; 6 import java.io.FileInputStream; 7 import java.io.FileNotFoundException; 8 import java.io.FileOutputStream; 9 import java.io.IOException; 10 import java.io.

修改tnsnames.ora文件中配置内容中的连接别名后,连接超时解决办法

1.tnsnames.ora文件中配置内容中的连接别名:由upaydb修改为IP地址 2.连接超时 定位原因: PLSQL登录界面的数据库列表就是读的tnsname.ora中连接的别名,这个文件中连接别名修改后,那么你PLSQL登录数据库时也要选择对应的连接别名:

php修改指定文件的指定内容

1 <?php 2 $origin_str = file_get_contents('路径/文件.txt'); 3 $update_str = str_replace('qwe=0', 'qwe=1', $orgin_str); 4 file_put_contents('路径/文件.txt', $update_str); 5 ?> php修改指定文件的指定内容

将一个文件中的内容,在另一个文件中生成. for line in f1, \n f2.write(line)

将一个文件中的内容,在另一个文件中生成. 核心语句: for line in f1: f1中的所有一行 f2.write(line)                                  # 是直接写入f1中出来的每一行,用   .write() 原文地址:https://www.cnblogs.com/jack20181017/p/9863521.html