关于C语言中文件修改的操作!

2024-11-17 03:23:16
推荐回答(5个)
回答(1):

使用文件操作函数fopen即可创建文件,使用文件操作函数fprintf即可修改文件内容。
1、C语言标准库提供了一系列文件操作函数。文件操作函数一般以f+单词的形式来命名(f是file的简写),其声明位于stdio.h头文件当中。例如:fopen、fclose函数用于文件打开与关闭;fscanf、fgets函数用于文件读取;fprintf、fputs函数用于文件写入;ftell、fseek函数用于文件操作位置的获取与设置。
2、例程:

#include
int i,a[100];
int main(){
FILE * fp1 = fopen("input.txt", "r");//打开输入文件
FILE * fp2 = fopen("output.txt", "w");//打开输出文件
if (fp1==NULL || fp2==NULL) {//若打开文件失败则退出
puts("不能打开文件!");
rturn 0;
}
for(i=0;fscanf(fp1,"%d",a+i)!=EOF;i++);//从输入文件连续读取整数到数组a
for(;i--;)fscanf(fp2,"%d ",a[i]);//把数组a逆序写入到输出文件当中
fclose(fp1);//关闭输入文件
fclose(fp2);//关闭输出文件,相当于保存
return 0;
}

回答(2):

#include
#include
using namespace std;

class Book
{
char name[20];
char isbn[20];
int number;
public:
void Input();
void ModifyNum();
void Show();
};//Book类的定义

void Book::Input()
{
cout<<"输入:";
cin>>name>>isbn>>number;
}
void Book::ModifyNum()
{
cout<<"修改库存:";
cin>>number;
}
void Book::Show()
{
cout<}

void main()
{
//记录的输入以及写入文件:
ofstream out("book.txt");
Book cbook;
cbook.Input();
out.write((char *)&cbook, sizeof(Book));
out.close();
//从文件读入记录,并且修改记录、保存修改至文件:
Book temp1;
fstream file("book.txt");
file.read((char *)&temp1, sizeof(Book));
temp1.ModifyNum();
file.seekp(0,ios::beg);
file.write((char *)&temp1, sizeof(Book));
file.close();
//读取文件记录:
Book temp2;
fstream in("book.txt");
in.read((char *)&temp2, sizeof(Book));
temp2.Show();
in.close();
}

回答(3):

没什么思路,好像是只能不追加,重写一遍!

回答(4):

使用r+打开,具有写权限,原来的数据还在,写入时才会覆盖,没覆盖的也不变
如果用w,w+等,都会销毁原来的数据,从新写入
比如已有文件中数据abcde
用r+打开在开头写入字母z之后,文件内容变为zbcde
如果带w的方式,就只剩z了

回答(5):

fa