導航:首頁 > 文件教程 > c語言txt文件重命名

c語言txt文件重命名

發布時間:2024-12-07 23:13:20

『壹』 用C語言 把D盤所有的*.txt文件《文本文件》改為*.abc 文件----- 更改文件後綴

//
// File name : Main.cpp
//
// Code by : jiangyonghang
//
// Project name : ExtendRenamer
//
// Create datetime: 2013-02-24 18:42:40
//
// Tested or implemented header
// ...
// C system headers
#include <windows.h>
#include <tchar.h>
// C++ system headers
// ...
// Headers from other projects
// ...
// Headers of current project
// ...

// 第一個參數是目錄名,第二個參數是原來的後綴名晌判,第三個參數是新後綴名,第四個參數true表悔沖示遞歸重命名,false表示只對當前目錄而不對子目錄進行重命名
void RenameExtention(const TCHAR kRootPath[], const TCHAR kOldExtention[], const TCHAR kNewExtention[], int recursive);
int main()
{
TCHAR kRootPath[] = TEXT("D:\\碧謹殲");
RenameExtention(kRootPath, TEXT("txt"), TEXT("abc"), false);
return 0;
}
void GetSearchModal(const TCHAR kRootPath[], TCHAR ret_search_modal[])
{
_tcscpy(ret_search_modal, kRootPath);
if (ret_search_modal[_tcslen(ret_search_modal) - 1] != TCHAR('\\') )
{
_tcscat(ret_search_modal, TEXT("\\") );
}
_tcscat(ret_search_modal, TEXT("*") );
return;
}
int MatchExtention(const TCHAR kFileName[], const TCHAR kTargetExtention[])
{
const TCHAR *kLastDot = _tcsrchr(kFileName, TCHAR('.') );
if (NULL == kLastDot)
{
return false;
}
return (0 == _tcscmp(kLastDot + 1, kTargetExtention) );
}
void (const TCHAR kOldFileName[], const TCHAR kNewExtention[], TCHAR ret_new_file_name[])
{
_tcscpy(ret_new_file_name, kOldFileName);
TCHAR *last_dot = _tcsrchr(ret_new_file_name, '.');
if (last_dot != NULL)
{
last_dot++;
_tcscpy(last_dot, kNewExtention);
}
return;
}
void RenameExtention(const TCHAR kRootPath[], const TCHAR kOldExtention[], const TCHAR kNewExtention[], int recursive)
{
TCHAR search_modal[MAX_PATH] = {TCHAR('\0')};
GetSearchModal(kRootPath, search_modal);
WIN32_FIND_DATA wfd;
HANDLE hIterator = FindFirstFile(search_modal, &wfd);
if (INVALID_HANDLE_VALUE == hIterator)
{
return;
}
while (1)
{
if (_tcscmp(wfd.cFileName, TEXT(".") ) && _tcscmp(wfd.cFileName, TEXT("..") ) )
{
TCHAR t_file_name[MAX_PATH];
_tcscpy(t_file_name, kRootPath);
if (t_file_name[_tcslen(t_file_name) - 1] != TCHAR('\\') )
{
_tcscat(t_file_name, TEXT("\\") );
}
_tcscat(t_file_name, wfd.cFileName);
if (wfd.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)
{
if (recursive)
{
RenameExtention(t_file_name, kOldExtention, kNewExtention, true);
}
}
else
{
if (MatchExtention(t_file_name, kOldExtention) )
{
TCHAR new_file_name[MAX_PATH];
(t_file_name, kNewExtention, new_file_name);
MoveFile(t_file_name, new_file_name);
}
}
}
int ret_code = FindNextFile(hIterator, &wfd);
if (!ret_code)
{
if (ERROR_NO_MORE_FILES == GetLastError() )
{
break;
}
return;
}
}
if (hIterator != INVALID_HANDLE_VALUE)
{
FindClose(hIterator);
hIterator = INVALID_HANDLE_VALUE;
}
return;
}

『貳』 如何用c語言重命名

可以通過C庫函數rename實現。

頭文件:stdio.h

原型::int rename(char *oldname, char *newname);

功能: 給一個文件重命名,從原始的oldname改成新名字newname。如果oldname和newname帶有路徑,且所在文件夾不同,那麼用該函數可以實現文件移動功能。刪除成功返回0,否則返回-1。

使用rename需要注意:

一、重命名文件:

  1. 如果newname指定的文件存在,則會被覆蓋。

  2. 如果newname與oldname不在一個目錄下,則相當於移動文件。


二、重命名目錄:

  1. 如果oldname和oldname都為目錄,則重命名目錄。

  2. 如果newname指定的目錄存在且為空目錄,則先將newname刪除。

  3. 對於newname和oldname兩個目錄,調用進程必須有寫許可權。

  4. 重命名目錄時,newname不能包含oldname作為其路徑前綴。例如,不能將/usr更名為/usr/foo/testdir,因為老名字( /usr/foo)是新名字的路徑前綴,因而不能將其刪除。

『叄』 請問怎麼用C語言打開這樣的本地網址並且讀取裡面的文件謝謝!

右鍵點擊那個txt文件,重命名講尾綴改為.c
打開就可以了
或者不打開
將vc打開
點擊打開文件
找到這個修改了後綴的文件打開就可以了

『肆』 不小心把c文件的打開方式設成記事本了,結果就改不回去了,誰知道怎麼辦

方法一:你打開c語言編譯器,哪裡有一個打開,找到你想要的那個文件,點擊,就可以打開了
方法二:把後綴名「.txt」,改成「.c」或".cpp"即可;
方法三:把記事本的內容重新粘貼到編譯器里,在生成一個新文件
求最佳答案

『伍』 用C語言編程修改文件名(C++也行)

麻煩在文件名允許有空白和一些與C語言有沖突的特殊符號。
如果沒有上述情況可以這樣寫:
(1)通過位置參數傳入 老擴展名 和 新擴展名
void main(int argc, char *argv[]){}
命令行: my_rename.exe jpeg jpg
程序名在 argv[0]里,"jpeg" 在 argv[1]里,jpg 在 argv[2]里了
l2 = strlen(argv[1]); // 老擴展名長度
(2) 通過
char command[120],namelist[]="all.lis";
sprintf(command,"DIR/B/A-D/OD *.%s > %s", argv[1],namelist);
system(command);
取得所有要換名的文件名字列表,存放在all.lis文件里,一個文件名一行。
(3)打開 all.lis 文件,
FILE *flist;
if ( (flist = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};
一行一行讀入:
char current_file_name[64],new_name[64];
while ( fgets( current_file_name, 64, flist) !=NULL ) { 處理};
(4)while 循環 處理:
strcpy(new_name,current_file_name);
l = strlen(new_name); // 文件名全長
strncpy(&new_name[0]+(l-l2),"\0",1); // 文件基本名,含點號,不含擴展名
strcat(new_name,argv[2]); // 新文件名
sprintf(command,"REN %s %s",current_file_name,new_name); // 換名命令
system(command); // 執行換名

完整程序:
#include <stdio.h>
#include <stdlib.h>
FILE *flist;
void main(int argc,char * argv[])
{
int l,l2;
char command[240],namelist[]="all.lis";
char current_file_name[64],new_name[64];

if(argc < 3) {printf("\007Usage: %s old_ext new_ext\n",argv[0]);
printf("For example: %s jpeg jpg\n",argv[0]);
exit(0);
}

l2 = strlen(argv[1]);

sprintf(command,"DIR/B/A-D/OD *.%s > %s", argv[1],namelist);
system(command);
if ( (flist = fopen(namelist,"r") ) == NULL ) {
printf("\007Cann't open work file: %s ", namelist);exit(1);
};

while ( fgets( current_file_name, 64, flist) !=NULL ) {
strcpy(new_name,current_file_name);
l = strlen(new_name);
strncpy(&new_name[0]+(l-l2-1),"\0",1);
strcat(new_name,argv[2]);
strncpy(¤t_file_name[0]+l-1,"\0",1);
sprintf(command,"REN %s %s", current_file_name, new_name);
system(command);
};
fclose(flist);
exit(0);
}

『陸』 如何更改C語言的文件名(如下圖)

點擊菜單欄上的文件按鈕,可以看到另存為,可以把程序文件存成其他的名字。
還有一個方法是,關閉vs,然後找到工程文件夾,找到 練習.c,然後點右鍵,選擇重命名即可。

閱讀全文

與c語言txt文件重命名相關的資料

熱點內容
哪些地方網路信號更好些 瀏覽:753
jar反編輯工具 瀏覽:614
描述數據波動大小有哪些 瀏覽:584
u盤exfat可復制4g以上的文件嗎 瀏覽:667
a4大小的文件過塑多少錢 瀏覽:26
暢天游2app在哪裡下載 瀏覽:844
微信看文字的圖片 瀏覽:298
將文件直接粘入word 瀏覽:134
VIP解析APP有哪些 瀏覽:463
怎樣徹底卸載cad文件 瀏覽:829
iphone4港版 瀏覽:624
怎麼用命令打開程序錯誤 瀏覽:665
iphone6怎麼改控制中心 瀏覽:808
ns錯誤代碼 瀏覽:653
iphone4s如何取消軟體更新提示 瀏覽:538
jsp列印換行 瀏覽:662
哪個軟體可以編程手機軟體 瀏覽:554
如東如何學數控編程培訓 瀏覽:5
微信h5頁面怎麼修改 瀏覽:931
手機怎麼無法打開視頻文件夾 瀏覽:840

友情鏈接