當前位置:首頁 » 編程語言 » c語言文件名變數
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

c語言文件名變數

發布時間: 2022-01-25 15:38:30

c語言創建文件,文件名可以用變數么

C語言中windows環境下,至少有三種方式可以創建文件,文件名都可以使用變數。
常用的函數中,無論是fopen還是CreateFile,其參數都可以使用變數來作為文件名來創建文件和讀寫文件。

② c語言中,fopen(「文件名」,「打開方式」)中的文件名可以是變數嗎

文件名可以直接寫進去,也可以放在變數里:
FILE *fp;
char namein[]="abc.txt";
fp=fopen(namein,"r");
或 fp=fopen("abc.txt","r");

文件名若帶路徑,單反斜杠要寫成雙反斜杠,例如:
char namein[]="C:\\path\\abc.txt";

長路徑可用8字母格式縮寫:
C:\Documents and Settings\Wang\...縮寫:
char namein[]="C:\\Docume~1\\Wang\\abc.txt";

二進制文件打開方式用rb:
fp=fopen("abc.txt","rb"); 或:
fp=fopen(namein,"rb");

③ C語言中將文件名賦值給字元串變數的作用是什麼

就是你說的賦值作用,讓一個字元串變數的值為那個文件名,比如const char* p = "text.txt";後面要用到這個文件名,就可以用變數p來代替了。

④ c語言中,fopen(「文件名」,「打開方式」)中的文件名可以是變數嗎謝謝

可以

從文件中讀取一個數

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
int a;
char str[100];//儲存文件名的數組

FILE *fp;

printf("請輸入文件名:");
gets(str);

if (NULL == (fp = fopen(str, "r")))//注意這的表達形式
{
printf("文件打開失敗!\n");
exit(0);
}

while (fscanf(fp, "%d", &a) != EOF);

printf("%d\n", a);
}

⑤ c語言fopen函數如何用一個變數來作為文件名

用char數組
實例:
#include<stdio.h>
int main(void)
{
char F_PATH[]="d:\\myfile\\file.dat";
FILE*fp=NULL;//需要注意
fp=fopen(F_PATH,"r");
if(NULL==fp)
{
return -1;//要返回錯誤代碼
}
fclose(fp);
fp=NULL;//需要指向空,否則會指向原打開文件地址
return 0;
}

⑥ C語言中如何將一個變數作為文件名的一部分(該文件帶有後綴)

相當於把i放到文件名的字元串中吧
不知文件名你用的什麼類型
Cstring之類都有format函數

⑦ C語言如何讀/寫名帶變數的文件

沒太看明白你的意思,是要復制這個文件到別的地方么?
C語言沒有這樣的標准庫函數,你可以按照這樣的思路復制文件:
以二進制模式打開源文件進行讀取,打開目標文件進行寫入
讀取源文件中的一個字元,如過沒有達到源文件的末尾,就把這個字元寫入目標文件
當達到源文件末尾時關閉文件

有變數的文件名可以使用sprintf函數得到文件路徑之後再打開
例如
int a = 2;
char *filePath[256];
想打開 a.txt(2.txt) 的話,用sprintf(filePath, "%d.txt", a); filePath的值就是2.txt了

⑧ C語言中如何用變數來命名輸出的文件

輸出文件,一般使用C語言的文件I/O函數,一般是使用fopen()打開文件,用fwrite()寫入文件,fclose()關閉文件。fopen的函數原型如下:

FILE*fopen(constchar*path,constchar*mode);

參數說明:path指明要打開的文件名,mode指明以什麼方式打開,所以一般通過一個字元數組來命名要輸出的文件名。

charfile_name[256]="c:\myfile.txt";

上面定義了一個字元有256個char類型的字元數組file_name,用於保存要打開的文件myfile.txt,注意在C語言中符號需要轉義才可以正常使用,因此使用路徑名為c:\myfile.txt。

⑨ C語言如何寫文件如何將文件名用參數代替

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

int main()
{
char username[]="abc";//應該是字元串
//char *filename = "c:\\data\\a.xml";//參數文件保存路徑,根據需要修改
char filename[100];//定義字元數組,數組可修改不同字元串。
FILE *file;//指向文件的指針

memset(filename,'\0',100);//初始化數組
printf("input your filename.\n");
gets(filename);
while(*filename!=NULL)//當連續輸入2個回車,代表不再輸入。
{
//用於打開文件
if ((file = fopen(filename, "w+" )) == NULL)
{
//lr_output_message("Unable to create %s", filename);
printf("unable to open.\n ");
exit(0);
}

fwrite(username,sizeof(username),1,file);
fclose(file);//關閉文件

printf("input your filename.\n");
memset(filename,'\0',100);
gets(filename);
}

printf("finish.\n");
return 0;
}
參考下
如果系統能生成20110228111111.xml,把它變成字元串存到某個數組中,假如b[100]
可以用for(i=0;i<100;i++)
{ ...
strcpy(filename,b);//將b拷貝到filename中
...處理文件寫入

}

如果思路比較混亂,建議先分解成幾塊,封裝不同函數中
例如 怎麼把系統生成的文件名稱拷貝到filename中
怎麼寫入相應信息。