導航:首頁 > 文件管理 > 如何用c打開文件

如何用c打開文件

發布時間:2023-01-10 00:42:08

❶ 關於c語言中如何打開文件

//zifu.txt文件只能由ASCII字元組成,否則會出現亂碼
#include<stdio.h>

int main()
{
char str[200],a,b;
FILE *p;
int i;

if(NULL==(p=fopen("zifu.txt","r+")))
{
printf("文件打開失敗!\n");
}
else
{
fscanf(p,"%s",str);
printf("你要替換的字元:");
a=getchar();
getchar();
printf("你要替換成的字元:");
b=getchar();
getchar();
for(i=0;str[i];i++)
{
if(a==str[i])
str[i]=b;
}
printf("%s\n",str);
fprintf(p,"%s",str);
fclose(p);
}
return 0;
}

❷ 如何用C語言讀寫文件

c語言讀寫文件程序

#include "stdio.h"

#include <stdlib.h>

main()

{

FILE *fp1;//定義文件流指針,用於打開讀取的文件

FILE *fp2;//定義文件流指針,用於打開寫操作的文件

char text[1024];//定義一個字元串數組,用於存儲讀取的字元

fp1 = fopen("d:\a.txt","r");//只讀方式打開文件a.txt

fp2 = fopen("d:\b.txt","w");//寫方式打開文件a.txt

while(fgets(text,1024,fp1)!=NULL)//逐行讀取fp1所指向文件中的內容到text中

{

puts(text);//輸出到屏幕

fputs(text,fp2);//將內容寫到fp2所指向文件中

}

fclose(fp1);//關閉文件a.txt,有打開就要有關閉

fclose(fp2);//關閉文件b.txt

}

(2)如何用c打開文件擴展閱讀:

C語言文件讀寫操作總結

一.非標准文件的讀寫 不帶緩沖的

1.文件的打開和關閉

open()函數的作用是打開文件,其調用格式為: int open(char *filename, int access); 該函數表示按access的要求打開名為filename的文件,返回值為文件描述字,其中access有兩部分內容: 基本模式和修飾符, 兩者用" "("或")方式連接,修飾符可以有多個, 但基本模式只能有一個。

access的規定

O_RDONLY 只讀

O_APPEND 文件指針指向末尾

O_WRONLY 只寫

O_CREAT 文件不存在時創建文件, 屬性按基本模式屬性

O_RDWR 讀寫

O_BINARY 打開一個二進制文件

O_TEXT 打開一個文字文件

open()函數打開成功, 返回值就是文件描述字的值(非負值), 否則返回-1。 close()函數的作用是關閉由open()函數打開的文件, 其調用格式為: int close(int handle); 該函數關閉文件描述字handle相連的文件。

2.讀寫函數

int read(int handle, void *buf, int count);

read()函數從handle(文件描述字)相連的文件中, 讀取count個位元組放到buf所指的緩沖區中, 返回值為實際所讀位元組數, 返回-1表示出錯。返回0 表示文件結束。

write()函數的調用格式為: int write(int handle, void *buf, int count); write()函數把count個位元組從buf指向的緩沖區寫入與handle相連的文件中, 返回值為實際寫入的位元組數。

3.隨機定位函數

lseek()函數的調用格式為: int lseek(int handle, long offset, int fromwhere);

該函數對與handle相連的文件位置指針進行定位,功能和用法與fseek()函數相同。 tell()函數的調用格式為: long tell(int handle); 該函數返回與handle相連的文件現生位置指針, 功能和用法與ftell()相同

二、標准文件的讀寫

1.文件的打開函數fopen()

文件的打開操作表示將給用戶指定的文件在內存分配一個FILE結構區,並將該結構的指針返回給用戶程序,以後用戶程序就可用此FILE指針來實現對指定文件的存取操作了。

當使用打開函數時,必須給出文件名、文件操作方式(讀、寫或讀寫),如果該文件名不存在,就意味著建立(只對寫文件而言,對讀文件則出錯),並將文件指針指向文件開頭。若已有一個同名文件存在,則刪除該文件,若無同名文件,則建立該文件,並將文件指針指向文件開頭。

fopen(char *filename,char *type);

其中*filename是要打開文件的文件名指針,一般用雙引號括起來的文件名表示,也可使用雙反斜杠隔開的路徑名。

而*type參數表示了對打開文件的操作方式。其可採用的操作方式如下:

"r" 打開,只讀; "w" 打開,文件指針指到頭,只寫; "a" 打開,指向文件尾,在已存在文件中追加; "rb" 打開一個二進制文件,只讀; "wb" 打開一個二進制文件,只寫; "ab" 打開一個二進制文件,進行追加 ;

"r+" 以讀/寫方式打開一個已存在的文件; "w+" 以讀/寫方式建立一個新的文本文件 ;"a+" 以讀/寫方式打開一個文件文件進行追加 ;"rb+" 以讀/寫方式打開一個二進制文件; "wb+" 以讀/寫方式建立一個新的二進制文件 ;

"ab+" 以讀/寫方式打開一個二進制文件進行追加 ;當用fopen()成功的打開一個文件時,該函數將返回一個FILE指針,如果文件打開失敗,將返回一個NULL指針。

❸ c語言怎麼打開一個文件夾

在C語言中,對文件夾的操作,專業的說法稱為"切換路徑/目錄",而不是"打開",因為文件夾,並不是一個"真正的文件",而只是一個訪問文件的目錄.x0dx0ax0dx0a用C語言中的函數chdir,也就是change directory x0dx0aint chdir(char *path) x0dx0a-- 使指定的目錄path變成當前的工作目錄,之後所有的文件操作都是該目錄下.x0dx0ax0dx0a比如,想切換到f盤test目錄下可以這樣:x0dx0a chdir("f:\\test "); x0dx0a返回0表示切換成功,否則,表示失敗.

❹ c語言如何打開文件

你只要把下復面代碼的file_path改成你要輸出的制文件就可以了。注意,一般window下的文件路徑都是一個反斜杠,但是在file_name的字元串中,所有的反斜杠都寫成兩個反斜杠。比如
E:\abc\WTK\SW\source.txt
你要寫成
E:\\abc\\WTK\\SW\\source.txt

#include <stdio.h>
#include <string.h>

main()
{
FILE *fp;
char ch;
char *file_path = "C:\\test\\myfile.txt";

if((fp=fopen(file_path,"r"))==NULL)
{
printf("\nSorry, Can't open the file! @_@\n");
exit(0);
}
else
{
while((ch=fgetc(fp))!=EOF)
{ printf("%c",ch); }
fclose(fp);
}

getch();
}
是否可以解決您的問題?

❺ 在C語言中如何打開文件夾中的文件

1、採用C語言的fopen函數
2、fopen函數的原型如下:FILE * fopen(const char * path,const char * mode);
詳細解釋該函數的參數:path 表示文件路徑名 mode 表示訪問文件的模式(常用訪問模式有:「r」表示只讀,此時文件必須存在;「w」只寫,每次以此方式訪問文件都會將文件內容清除重新為寫入准備,如果文件不存在,系統自動創建;「a」只寫,若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。)
3、舉例說明:在D盤里的創建了一個文件夾(文件夾名為baozang),在該文件夾里創建一個文本文件(文件名為shuijing.txt)那麼以只讀方式打開該文件的一段示例代碼為:

FILE* file;
if ( NULL != (file = fopen("D:\\baozang\\shuijing.txt" , "r")))
{
打開成功;

}
else
{
打開失敗;
}

❻ 如何使用c語言打開一個文件

#include<stdio.h>
intmain(intargc,char*argv[])
{
FILE*fp=fopen(argv[1],"w+");//以讀寫方式創建一個文本文件,其中文件名由參數argv[1]提供
if(fp==NULL)exit(0);//出錯檢查,如果版打開失敗,打開函數權返回一個空指針,則退出程序
...
...
fclose(fp);//運行完畢後一定不要忘記關閉文件
return0;
}

運行:

  1. 打開cmd.exe,輸入程序名(必須有路徑) (空格) 打開的文件名 (回車)。注意,如果程序名或者文件名內部有空格,必須用雙引號引起來

  2. 之後便可以運行下面的內容

❼ 如何用C語言打開一個文件

近用c語言做文件操作比較頻繁,記幾個常用的操作

獲得文件大小:

fseek(fp, 0, SEEK_END);
int fileSize = ftell(fp);
rewind(fp);

讀取指定位置的數據塊:

fseek( fp,offset,SEEK_SET );
int num_read = fread(buf, 1, length, fp);

刪除文件

int res = access( filename,0 ); // 判斷文件是否存在
if ( res == 0 )
{
res = remove( filename );// 刪除文件
return ( res ==0 );
}

在指定位置寫入塊數據:

fseek( fp, offset, SEEK_SET );
num_write = fwrite( buf, 1, n, fp );

打開文件方式中有一個比較特別的,如果 某文件中已經有了一部分數據,你需要繼續在上面添加數據,但是是在指定位置添加,也就是說,仍然需要通過 fseek 找到寫入位置,然後再 fwrite,這時候需要以 "rb+" 方式打開。而不能以"a"或者"ab+"方式。以"a"方式打開,fseek函數不起作用。

獲得文件屬性

struct stat st;
FILE *fp = fopen( filename.c_str(),"rb" );
if ( !fp )
{ // error
}
fstat( fp->_file, &st );

遍歷目錄

std::string dirspec = dir + "\\*.*";
struct _finddata_t filefind;
int done = 0;
intptr_t handle = 0;

if( ( handle = _findfirst(dirspec.c_str(),&filefind) ) == -1 )
return IVS_FAIL;

IVS_RESULT res = IVS_OK, response =IVS_OK;
while( !(done=_findnext(handle,&filefind)) )
{
if( !strcmp(filefind.name,"..") || !strcmp(filefind.name,".") )
continue;

AdsFileInfo info;
if((_A_SUBDIR==filefind.attrib))
{
info._filename = filefind.name;
info._fileSize = filefind.size;
info._atime = filefind.time_access;
info._ctime = filefind.time_create;
info._mtime = filefind.time_write;
info._isdir = true;
}
else
{
std::string tmpFilename = dir + "\\";
tmpFilename += filefind.name;
res = getFileInfo( tmpFilename, info );
response = (!SUCCESS(res))?res: response;
}
list.push_back( info );
}
_findclose(handle);

❽ C語言如何讀取文件

C語言讀取文件的具體步驟如下:

我們需要准備的材料分別是:電腦、C語言。

1、首先我們打開需要讀取的文件,點擊打開左上角文件中的「另存為」。

❾ 如何利用c語言打開文本文件

C程序語言非常強大,通過打開文本的函數(裡面的參數指出要打開文本的位置及文件名),即可打開相應的文本。

第一,包含的頭文件:

#include <stdio.h>,這是一個輸入輸出函數,

第二,打開文本文件:

FILE *file = fopen("c:\1.txt","r");代表C盤的文件,文件名為1.txt,r表示以只讀的方式打開,

第二個參數表示打開方式,
"a" 表示追加方式打開,
"r" 表示以讀方式打開,
"w" 表示以寫方式打開,

第三,讀入文本文件中的數據:

方法:
char s[10] = "";
while (!feof(file))
fread(s,1,1,file);

通過fread函數對打開的文件進行讀和寫操作,也就是這樣來改變文件的內容。

❿ C語言怎樣打開文件呀

程序沒有錯誤。
查一下,文件名字 拼寫是否正確,是否用 英文ASCII 字元,而不是中文字元。
文件存放 處 是否 在 當前目錄下,可以用 DIR file1.txt 命令 列出來看。
"當前目錄" 指的是與 你的程序編譯後 的 .exe 文件 在同一 文件夾。
你也可以把 if (fp1 == NULL ){..} 替換成 if (!fp1){...} 試試。 (也可能程序不認識NULL).

閱讀全文

與如何用c打開文件相關的資料

熱點內容
如何製作虛擬貨幣app 瀏覽:303
ug50能通過補丁升級到高版本嗎 瀏覽:766
dxf文件cad打不開的原因 瀏覽:525
2012怎麼改域用戶密碼 瀏覽:550
dtv網路電視手機版下載 瀏覽:954
mfc100u放在哪個文件夾 瀏覽:359
javaweb插件 瀏覽:58
pto密碼忘記 瀏覽:567
logo競賽教程 瀏覽:481
貴陽去哪裡學編程比較好 瀏覽:132
java將string轉為json 瀏覽:291
ppt2013製作exe文件 瀏覽:80
linux文件只讀不能復制 瀏覽:597
開關代碼 瀏覽:91
word繪圖板 瀏覽:359
蘋果minecraftpe注冊 瀏覽:775
ps怎麼存儲文件卡 瀏覽:728
微信清除緩存圖片恢復 瀏覽:305
安卓app會閃退怎麼解決 瀏覽:429
哪些app背單詞是免費的 瀏覽:889

友情鏈接