㈠ C++修改txt文件里數據
參考代碼如下:
#include <fstream>
#include <iostream>
using namespace std;
int main()
{
ifstream infile("123.txt",ios::in);/*要在存放VC++MyProjects裡面的當前文件建立一個txt文本 位置也可以改成其它地方*/
if(!infile)
{
cout<<"open error!"<<endl;
exit(1);
}
ofstream outfile("fl.txt",ios::out);//存放位置可以改成其他地方如c:fl.txt
if(!outfile)
{
cout<<"open eror!"<<endl;
exit(1);
}
char str;
while(infile.get(str))//從文件讀取字元
{
if(str=='3')
str=' ';//如果要把3改成其它字元則把空格換成其它字元
outfile.put(str);//輸出到文件fl.txt中
}
infile.close();//關閉文件
outfile.close();//關閉文件
return 0;
㈡ C語言如何實現對txt文件的讀取和寫入
使用fopen的r方式可以實現讀取,用w+方式可以實現寫入。
1.fopen的函數原型:FILE
*
fopen(const
char
*
path,const
char
*
mode);
fopen函數的第一個參數是文件路徑,第二個參數是打開方式,有以下幾種方式:
r
以只讀方式打開文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,允許讀數據。
rw+
讀寫打開一個文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(原來的EOF符不保留)
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
wt+
讀寫打開或著建立一個文本文件;允許讀寫。
at+
讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b
字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。
返回值:文件順利打開後,指向該流的文件指針就會被返回。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
2.常式:
#include<stdio.h>
#define F_PATH "d:\\myfile\\file.dat"
char c;
int main(){
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"w"); //創建文件
if(NULL==fp) return -1;//要返回錯誤代碼
while(scanf("%c",&c)!=EOF) fprintf(fp,"%c",c); //從控制台中讀入並在文本輸出
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址
return 0;
}
㈢ 怎樣用C#讀取TXT文件內容並修改
1、首先先來看抄一下准備的txt文本文襲件的內容。
㈣ c語言高手求助。怎麼改txt文件中的特定內容。
/*剛寫的,好累啊,已測試,希望能幫到你*/
#include<stdio.h>
#include<string.h>
voidmodify(FILE*x,FILE*y);
intmain(void)
{
FILE*file1=NULL;
FILE*file2=NULL;
charfilename1[]="測試.txt";//這里換成你的txt文件;
charfilename2[]="副本.txt";//這里不要動;
if((file1=fopen(filename1,"r"))==NULL)//只讀方式打開;
{
printf("文件打開失敗! ");
return1;
}
if((file2=fopen(filename2,"w"))==NULL)//只寫方式打開;
{
printf("文件打開失敗! ");
return1;
}
modify(file1,file2);
fclose(file1);
fclose(file2);
file1=file2=NULL;
remove(filename1);
rename(filename2,filename1);
return0;
}
voidmodify(FILE*x,FILE*y)//參數:兩個已打開文件的指針,第一個必須能讀,第二個必須能寫;
{
chartemp[1024]={0};
chardel[1024]={0};
charrep[1024]={0};
char*p1=NULL;
char*p2=NULL;
printf("請輸入要替換的舊內容:");
gets(del);
printf("請輸入要替換的新內容:");
gets(rep);
while(fgets(temp,1024,x))
{
p2=temp;
while((p1=strstr(p2,del))!=NULL)
{
for(inti=0;&p2[i]!=p1;++i)
fputc(p2[i],y);
for(inti=0;i<strlen(rep);++i)
fputc(rep[i],y);
p2=p1+strlen(del);
}
for(inti=0;p2[i]!='