導航:首頁 > 文件目錄 > c中怎麼打開文件名中包含路徑

c中怎麼打開文件名中包含路徑

發布時間:2022-09-16 20:32:19

❶ 在C語言中怎樣讓用戶輸入文件名來打開一個文件

#include <stdio.h>
int main(){
FILE *fp;
char filename[100]; //文件名
char tempstr[1024]; //讀文件的緩沖
printf("請輸入你要打開的文件名及路徑,如c:\\temp.txt\n");
gets(filename); //這句要用戶輸入文件名
if ((fp=fopen(filename,"r"))==NULL){//打開文件,並判斷是否有打開錯誤
printf("打開文件%s出現錯誤\n",filename);
return 0;
}
//以下顯示文件內容
while(fgets(tempstr,1024,fp)!=NULL) //讀文件一行內容,最多1024字元到緩沖區,並判斷是否文件已經結束
printf("%s",tempstr); //顯示緩沖區內容
fclose(fp); //關閉文件
}

❷ 在c語言中怎樣打開一個文本文檔

這些都是c語言打開文件函數fopen的一個參數打開文件方式的值:
定義函數
file
*
fopen(const
char
*
path,const
char
*
mode);
函數說明
參數path字元串包含欲打開的文件路徑及文件名,參數mode字元串則代表著流形態。
mode有下列幾種形態字元串:
r
打開只讀文件,該文件必須存在。
r+
打開可讀寫的文件,該文件必須存在。
rb+
讀寫打開一個二進制文件,只允許讀寫數據。
rt+
讀寫打開一個文本文件,允許讀和寫。
w
打開只寫文件,若文件存在則文件長度清為0,即該文件內容會消失。若文件不存在則建立該文件。
w+
打開可讀寫文件,若文件存在則文件長度清為零,即該文件內容會消失。若文件不存在則建立該文件。
a
以附加的方式打開只寫文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾,即文件原先的內容會被保留。
a+
以附加方式打開可讀寫的文件。若文件不存在,則會建立該文件,如果文件存在,寫入的數據會被加到文件尾後,即文件原先的內容會被保留。
wb
只寫打開或新建一個二進制文件;只允許寫數據。
wb+
讀寫打開或建立一個二進制文件,允許讀和寫。
wt+
讀寫打開或著建立一個文本文件;允許讀寫。
at+
讀寫打開一個文本文件,允許讀或在文本末追加數據。
ab+
讀寫打開一個二進制文件,允許讀或在文件末追加數據。
上述的形態字元串都可以再加一個b字元,如rb、w+b或ab+等組合,加入b
字元用來告訴函數庫打開的文件為二進制文件,而非純文字文件。不過在posix系統,包含linux都會忽略該字元。
由fopen()所建立的新文件會具有s_irusr|s_iwusr|s_irgrp|s_iwgrp|s_iroth|s_iwoth(0666)許可權,此文件許可權也會參考umask
值。

❸ C語言打開文件的路徑問題

#include<stdio.h>
int main(void)
{
int a, sum;
FILE *ifp, *ofp;

sum = 0;
if((ifp = fopen("C:\Users\huangwj\Desktop\h.txt", "rt"))==NULL)
{
printf("not in");
return 0;
}
if((ofp = fopen("C:\Users\huangwj\Desktop\yes.txt", "wt"))==NULL)
{
printf(" out!!");
return 0;
}
while( fscanf(ifp, "%d", &a) != EOF)
sum += a;
fprintf(ofp, "The sum is %d. \n", sum);
fclose(ifp);
fclose(ofp);
return 0;
}

如果對您有幫助,請記得採納為滿意答案,謝謝!祝您回生活愉快答!

❹ c語言:打開文本文件的路徑

char a[100];

printf("Please Input The Way:Such As 「f:\\a.txt」");

scanf("%s",a);
fp=fopen(a,"r");
..

❺ c語言中用 fopen 打開文件怎樣包含文件目錄路徑名

你用
file
=
false;
while(!file)
{
//讀取文件名
file=!fopen("文件名",mode)
}
這樣的結構就可以了

❻ 請問高手,c語言下用什麼函數可以讀取從鍵盤輸入的任意文件路徑然後再打開該文件

可以運行後指定要打開的文件,成功運行
如我D盤下有f1.txt,沒有f3.txt
兩次運行結果分別是
一:
請輸入要打開的文件名(含路徑):
d:\f1.txt
成功打開文件d:\f1.txt!
Press any key to continue
二:
請輸入要打開的文件名(含路徑):
d:\f3.txt
打開文件失敗!
Press any key to continue

程序如下:

#include <stdio.h>
#include <malloc.h>
#define MAXSIZE 50

void main()
{
char* file=(char*)malloc(sizeof(char)*MAXSIZE);
printf("請輸入要打開的文件名(含路徑):\n");
gets(file);
FILE* fp;
if(!(fp=fopen(file,"r")))
{
puts("打開文件失敗!\n");
}
else
{
printf("成功打開文件%s!\n",file);
fclose(fp);
}

free(file);
}

❼ c語言中調用什麼函數打開文件

fileOpen\fileRead\fileWrite

❽ 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.2 文件的輸入輸出函數

鍵盤、顯示器、列印機、磁碟驅動器等邏輯設備, 其輸入輸出都可以通過文件管理的方法來完成。而在編程時使用最多的要算
是磁碟文件, 因此本節主要以磁碟文件為主, 詳細介紹Turbo C2.0提供的文件操作函數, 當然這些對文件的操作函數也適合於非磁
盤文件的情況。
另外, Turbo C2.0提供了兩類關於文件的函數。一類稱做標准文件函數也稱緩沖型文件函數, 這是ANSI標準定義的函數; 另一
類叫非標准文件函數, 也稱非緩沖型文件函數。這類函數最早公用於UNIX操作系統, 但現在MS-DOS3.0 以上版本的操作系統也可以
使用。下面分別進行介紹。

1.2.1 標准文件函數
標准文件函數主要包括文件的打開、關閉、讀和寫等函數。不象BASIC 、FORTRAN語方有順序文件和隨機文件之分, 在打開時
就應按不同的方式確定。Turbo C2.0並不區分這兩種文件, 但提供了兩組函數, 即順序讀寫函數和隨機讀寫函數。

一、文件的打開和關閉
任何一個文件在使用之前和使用之後, 必須要進行打開和關閉, 這是因為操作系統對於同時打開的文件數目是有限制的, DOS
操作系統中, 可以在DEVICE.SYS中定義允許同時打開的文件數n(用files=n定義)。其中n 為可同時打開的文件數, 一般n<=20。因
此在使用文件前應打開文件, 才可對其中的信息進行存取。 用完之後需要關閉, 否則將會出現一些意想不到的錯誤。Turbo C2.0
提供了打開和關閉文件的函數。

1. fopen()函數
fopen函數用於打開文件, 其調用格式為:

FILE *fopen(char *filename, *type);

在介紹這個函數之前, 先了解一下下面的知識。

(1) 流(stream)和文件(file)
流和文件在Turbo C2.0中是有區別的, Turbo C2.0 為編程者和被訪問的設備之間提供了一層抽象的東西, 稱之為"流", 而將
具體的實際設備叫做文件。流是一個邏輯設備, 具有相同的行為。因此,用來進行磁碟文件寫的函數也同樣可以用來進行列印機的
寫入。在Turbo C2.0中有兩種性質的流: 文字流(text stream)和二進制(binary stream)。 對磁碟來說就是文本文件和二進制文
件。本軟體為了便於讓讀者易理解Turbo C2.0語言而沒有對流和文件作特別區分。

(2) 文件指針FILE
實際上FILE是一個新的數據類型。它是Turbo C2.0的基本數據類型的集合, 稱之為結構指針。有關結構的概念將在第四節中詳
細介紹, 這里只要將FILE理解為一個包括了文件管理有關信息的數據結構, 即在打開文件時必須先定義一個文件指針。

(3) 以後介紹的函數調用格式將直接寫出形式參數的數據類型和函數返回值的數據類型。例如: 上面打開文件的函數, 返回一
個文件指針, 其中形式參數有兩個, 均為字元型變數(字元串數組或字元串指針)。本軟體不再對函數的調用格式作詳細說明。

現在再來看打開文件函數的用法。
fopen()函數中第一個形式參數表示文件名, 可以包含路徑和文件名兩部分。
如:
"B:TEST.DAT"
"C:\\TC\\TEST.DAT"
如果將路徑寫成"C:\TC\TEST.DAT"是不正確的, 這一點要特別注意。
第二個形式參數表示打開文件的類型。關於文件類型的規定參見下表。
表 文件操作類型
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
字元 含義
————————————————————————————
"r" 打開文字文件只讀
"w" 創建文字文件只寫
"a" 增補, 如果文件不存在則創建一個
"r+" 打開一個文字文件讀/寫
"w+" 創建一個文字文件讀/寫
"a+" 打開或創建一個文件增補
"b" 二進制文件(可以和上面每一項合用)
"t" 文這文件(默認項)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━
如果要打開一個CCDOS子目錄中, 文件名為CLIB的二進制文件, 可寫成:

fopen("c:\\ccdos\\clib", "rb");

如果成功的打開一個文件, fopen()函數返迴文件指針, 否則返回空指針(NULL)。由此可判斷文件打開是否成功。

2. fclose()函數
fclose()函數用來關閉一個由fopen()函數打開的文件 , 其調用格式為:

int fclose(FILE *stream);

該函數返回一個整型數。當文件關閉成功時, 返回0, 否則返回一個非零值。可以根據函數的返回值判斷文件是否關閉成功。

例10:

#iclude
main()
{
FILE *fp; /*定義一個文件指針*/
int i;
fp=fopen("CLIB", "rb"); /*打開當前目錄名為CLIB的文件只讀*/
if(fp==NULL) /*判斷文件是否打開成功*/
puts("File open error"); /*提示打開不成功*/
i=fclose(fp); /*關閉打開的文件*/
if(i==0) /*判斷文件是否關閉成功*/
printf("O,K"); /*提示關閉成功*/
else
puts("File close error"); /*提示關閉不成功*/
}

❿ C語言中,怎樣訪問其他路徑中的文件

fp=fopen(filename,"wb");里的filename就表示了文件的路徑及文件名,所以要把輸入的文件名和文件路徑拼接起來,計算出這個filename,
例如,
string
filename,
path,
name;
......(獲取path,
name的值)
filename
=
path
+
name;
fp=fopen(filename,"wb");

閱讀全文

與c中怎麼打開文件名中包含路徑相關的資料

熱點內容
uga字頭的字體在哪個文件 瀏覽:508
cad每次運行會產生log文件 瀏覽:158
單詞社交網路怎麼樣 瀏覽:406
ps矢量文件轉ai 瀏覽:82
清華大學蘇州大數據中心 瀏覽:620
電腦上怎麼搜索文件文件名忘了 瀏覽:360
永安行app在哪裡簽到 瀏覽:601
大數據在職業技能培訓中的應用 瀏覽:218
word文件管理器 瀏覽:82
貴安大數據產業園 瀏覽:229
excel該文件可能是只讀的 瀏覽:818
怎麼添加一個次要數據文件資料庫 瀏覽:399
linux怎麼裝系統 瀏覽:811
接觸到哪些信息是由資料庫管理 瀏覽:25
港版s7edge和亞太版本 瀏覽:284
無限循環數控編程序怎麼編程 瀏覽:979
iphone6splus16g 瀏覽:225
oppo如何開4g網路 瀏覽:267
java不安全 瀏覽:423
導入配置文件數據失敗 瀏覽:941

友情鏈接