欧美大屁股bbbbxxxx,狼人大香伊蕉国产www亚洲,男ji大巴进入女人的视频小说,男人把ji大巴放进女人免费视频,免费情侣作爱视频

歡迎來到入門教程網(wǎng)!

C語言

當(dāng)前位置:主頁 > 軟件編程 > C語言 >

詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法

來源:本站原創(chuàng)|時間:2020-01-10|欄目:C語言|點擊: 次

C語言rename()函數(shù):重命名文件或目錄
頭文件:

#include <stdio.h>

函數(shù)rename()用于重命名文件、改變文件路徑或更改目錄名稱,其原型為
  

 int rename(char * oldname, char * newname);

【參數(shù)】oldname為舊文件名,newname為新文件名。

【返回值】修改文件名成功則返回0,否則返回-1。

重命名文件:

  • 如果newname指定的文件存在,則會被刪除。
  • 如果newname與oldname不在一個目錄下,則相當(dāng)于移動文件。

重命名目錄:

  • 如果oldname和oldname都為目錄,則重命名目錄。
  • 如果newname指定的目錄存在且為空目錄,則先將newname刪除。
  • 對于newname和oldname兩個目錄,調(diào)用進程必須有寫權(quán)限。
  • 重命名目錄時,newname不能包含oldname作為其路徑前綴。例如,不能將/usr更名為/usr/foo/testdir,因為老名字( /usr/foo)是新名字的路徑前綴,因而不能將其刪除。

【實例】一個簡單的修改文件名的程序。

#include<stdio.h>
#include <fcntl.h>
int main(void)
{
  char oldname[100], newname[100];
  /* prompt for file to rename and new name */
  printf("請告訴我一個文件的完整路徑: ");
  gets(oldname);
  printf("您想修改為: ");
  gets(newname);
  /* 更改文件名 */
  if (rename(oldname, newname) == 0)
    printf("已經(jīng)把文件 %s 修改為 %s.\n", oldname, newname);
  else
    perror("rename");
  return 0;
}

運行結(jié)果:

請告訴我一個文件的完整路徑:test.ncb
您想修改為:test111.ncb
已經(jīng)把文件test. ncb修改為test111. ncb

例子首先定義兩個數(shù)組存儲用戶指定的文件名, 接著使用函數(shù)gets()接收用戶輸入的文件名,再使用函數(shù)rename()修改,如果成功則返回值為0,提示修改成功。

注意:實際開發(fā)中盡量避免使用gets()函數(shù),gets()會影響程序的安全性和健壯性,請查看:C語言gets()函數(shù):從流中讀取字符串

又如,設(shè)計一個在DOS命令行下修改文件的程序。
復(fù)制純文本新窗口

#include <stdio.h>
void main(int argc, char **argv)
{
  if(argc < 3)
  {
    printf("Usage: %s old_name new_name\n", argv[0]);
    return;
  }
  printf("%s=>%s", argc[1], argv[2]);
  if(rename(argv[1], argv[2]) < 0)
  printf("error!\n");
  else
  printf("ok!\n");
}

C語言remove()函數(shù):刪除文件或目錄
頭文件:

#include <stdio.h>

remove()函數(shù)用于刪除指定的文件,其原型如下:

  int remove(char * filename);

【參數(shù)】filename為要刪除的文件名,可以為一目錄。如果參數(shù)filename 為一文件,則調(diào)用unlink()處理;若參數(shù)filename 為一目錄,則調(diào)用rmdir()來處理。

【返回值】成功則返回0,失敗則返回-1,錯誤原因存于errno。

錯誤代碼:
EROFS  欲寫入的文件為只讀文件。
EFAULT  參數(shù)filename 指針超出可存取內(nèi)存空間。
ENAMETOOLONG  參數(shù)filename 太長。
ENOMEM  核心內(nèi)存不足。
ELOOP  參數(shù)filename 有過多符號連接問題。
EIO I/O  存取錯誤。

【實例】下面的程序演示了如何使用remove()函數(shù)刪除文件。

#include<stdio.h>
int main(){
  char filename[80];
  printf("The file to delete:");
  gets(filename);
  if( remove(filename) == 0 )
    printf("Removed %s.", filename);
  else
    perror("remove");
}

運行上述程序,首先聲明用于保存文件名的字符數(shù)組變量,從控制臺獲取文件名,然后刪除該文件,并根據(jù)刪除結(jié)果輸出相應(yīng)的提示信息。

注意:實際開發(fā)中盡量避免使用gets()函數(shù),gets()會影響程序的安全性和健壯性

上一篇:簡單談?wù)凜++ 中指針與引用

欄    目:C語言

下一篇:對比C語言中execv相關(guān)的執(zhí)行文件的三個函數(shù)

本文標(biāo)題:詳解C語言中的rename()函數(shù)和remove()函數(shù)的使用方法

本文地址:http://mengdiqiu.com.cn/a1/Cyuyan/2794.html

網(wǎng)頁制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語言數(shù)據(jù)庫服務(wù)器

如果侵犯了您的權(quán)利,請與我們聯(lián)系,我們將在24小時內(nèi)進行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有