首先要說明的是這里并不是指刪除C編譯器里面的文件,呵呵,如果只是要?jiǎng)h除那些文件的話,那就很簡(jiǎn)單,直接選中文件后按delete鍵就可以刪除了,但是我們刪除那些文件干嘛?我們還要用它寫程序啊,呵呵。我在這里要說的是,怎樣使用C語言編寫程序來刪除文件。
讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對(duì)這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡(jiǎn)單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:申請(qǐng)域名、網(wǎng)站空間、營(yíng)銷軟件、網(wǎng)站建設(shè)、豐林網(wǎng)站維護(hù)、網(wǎng)站推廣。
在C語言中,我們可以使用remove()函數(shù)來刪除指定的文件,具體語法為:
Int remove(char *filename);其中filename是一個(gè)指向字符串的指針,該字符串可以組成有效的文件名,也可以包含路徑說明。如果我們要?jiǎng)h除D盤下的ABC.txt文件,我們就可以這樣寫:remove(“D:\ABC.txt”);
樓主的意思是在str1中刪除str2中出現(xiàn)的字符?那么改成:
#includestdio.h
void main ()
{
char str1[9]={'t','i','n','m','f','g','y','f','s'};
char str2[3]={'A','s','g'};
int i,k,l;
for(i=0;i9;i++)
{
l=0;
for(k=0;k3;k++)
{
if (str1[i]=str2[k])
{l=1;break;}
}
if l!=1
printf("%c",str1[i]);
}
}
fclose(fp);當(dāng)然不行,它不是清除文件而是關(guān)閉文件。fp=fopen("a.txt","w");肯定清除當(dāng)前目錄下名為a.txt文件的內(nèi)容,只留下一個(gè)文件名——你說沒有清除那只是路徑?jīng)]有寫全——我的工作代碼就這樣用著:每月1號(hào)0點(diǎn)自動(dòng)清除上月記錄,開始本月新記錄。如果你說的是連文件名都清除的函數(shù),那叫刪除文件,有個(gè)函數(shù)叫remove(FILE *);,你可以一試。
1. 函數(shù)開始的時(shí)候這兩句話沒有意義
p=(stud *)malloc(sizeof(stud));
q=(stud *)malloc(sizeof(stud));
你只是用了這兩個(gè)指針,為它們分配空間一是沒必要,二是內(nèi)存會(huì)泄露
2. 看你的代碼應(yīng)該是有頭結(jié)點(diǎn)的鏈表,搜索的時(shí)候p=head;p初始化為了head,指向了頭結(jié)點(diǎn),搜索的時(shí)候應(yīng)該從p-next開始,而你用的while((p!=NULL)(strcmp(p-name,N)!=0)),應(yīng)該用p-next!=NULL。而且后面刪除的時(shí)候也刪除的是p-next,所以比較的話也應(yīng)該用p-next:strcmp(p-next-name,N)