當前位置:首頁 » 編程語言 » c語言打開一個文件

c語言打開一個文件

發布時間: 2022-07-24 02:08:48

⑴ 如何用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語言打開一個文件

#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語言如何打開文件

你只要把下面代碼的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語言編程軟體,一般從網路下載就可以。

⑸ c語言 如何打開一個TXT文件。

C語言,打開文件一個TXT文件,需要使用fopen()函數。
它的函數原型位FILE
*
fopen(const
char
*
path,const
char
*
mode);
如果文件順利打開後,返回指向該流的文件指針就會。如果文件打開失敗則返回NULL,並把錯誤代碼存在errno中。
一般而言,打開文件後會做一些文件讀取或寫入的動作,若打開文件失敗,接下來的讀寫動作也無法順利進行,所以一般在fopen()後作錯誤判斷及處理。
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r
以只讀方式打開文件,該文件必須存在。
r+
以可讀寫方式打開文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,允許讀寫數據,文件必須存在。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。(EOF符保留)
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
(原來的EOF符不保留)
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
wx
創建文本文件,只允許寫入數據.[C11]
wbx
創建一個二進制文件,只允許寫入數據.[C11]
w+x
創建一個文本文件,允許讀寫.[C11]
wb+x
創建一個二進制文件,允許讀寫.[C11]
w+bx
和"wb+x"相同[C11]
以x結尾的模式為獨占模式,文件已存在或者無法創建(一般是路徑不正確)都會導致fopen失敗.文件以操作系統支持的獨占模式打開
下面讀取TXT文件的行數並把把TXT文件的內容存到數組中。
這里假設每行是一個字元串,每行不超過127個字元(用數組存字元串,最後一位存'\0'),選取fgets進行讀取。
示例代碼如下:
#include
#include
int main(int argc, char* argv) {
FILE* rf = fopen("input.txt","r");
char a[1024][128];
int i=0;
while(fgets(a[i],128,rf))i++;
int n=i;
printf("行數:%d\n",n);
fclose(rf);
i=0;
while(i

⑹ 在C語言中,舉例說明如何打開一個文本文件,並讀入文件中的數據

1.首先,使用VS構建一個新的空項目,然後直接單擊ok。

⑺ 如何利用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語言中如何在函數中打開一個文件

fopen函數用來打開一個文件,其調用的一般形式為:文件指針名=fopen(文件名,使用文件方式)其中,「文件指針名」必須是被說明為FILE類型的指針變數,「文件名」是被打開文件的文件名。「使用文件方式」是指文件的類型和操作要求。「文件名」是字元串常量或字元串數組。例如:
FILE*fp;
fp=("filea","r");
其意義是在當前目錄下打開文件filea,只允許進行「讀」操作,並使fp指向該文件。

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

在C語言中,對文件夾的操作,專業的說法稱為"切換路徑/目錄",而不是"打開",因為文件夾,並不是一個"真正的文件",而只是一個訪問文件的目錄.

用C語言中的函數chdir,也就是change directory
int chdir(char *path)
-- 使指定的目錄path變成當前的工作目錄,之後所有的文件操作都是該目錄下.

比如,想切換到f盤test目錄下可以這樣:
chdir("f:\\test ");
返回0表示切換成功,否則,表示失敗.

⑽ 如何用C語言打開一個文件,並輸出到屏幕上

讀數據的方式要與數據存儲的格式一致,如果文件的內容的存儲方式不同,需要用相應的格式。
例如,下面讀文件與寫文件的格式相同。
void
read()//從文件1.txt讀出數據
{
file
*fp;
int
i,n,a[100];
if((fp=fopen("1.txt","rt"))==null)
{
printf("cannot
open
file\n");
return;
}
fscanf(fp,"%d\n",&n);
for(i=0;i
評論
0
0
載入更多

熱點內容
requestdatapython 發布:2025-01-31 08:02:01 瀏覽:44
javades加密工具 發布:2025-01-31 07:54:04 瀏覽:244
電話如何配置ip 發布:2025-01-31 07:48:48 瀏覽:300
2021賓士e300l哪個配置性價比高 發布:2025-01-31 07:47:14 瀏覽:656
sqlserver2008光碟 發布:2025-01-31 07:32:13 瀏覽:578
sql查詢小時 發布:2025-01-31 07:23:00 瀏覽:423
新車鑒別時怎麼查看汽車配置 發布:2025-01-31 07:19:37 瀏覽:881
linux驅動程序開發 發布:2025-01-31 06:56:03 瀏覽:771
nlms演算法 發布:2025-01-31 06:55:56 瀏覽:900
結束伺服器怎麼操作 發布:2025-01-31 06:54:17 瀏覽:394