【問題】能用c語言複製檔案或刪除嗎?


Recommended Posts

能用c語言複製檔案或刪除嗎?

還有如果將鍵盤入的資料寫入檔案中時~不能加入空白鍵嗎?

案了空白鍵之後就不會再出現字了..

#include <stdio.h>

#include <stdlib.h>

int main(void)

{

FILE *stream;

char con[15];

stream=fopen("Unit1.txt","w");

if(stream==NULL)

printf("cant open this file\n");

else

{

printf("輸入一段文字,寫入在桌面上的Unit1.txt\n");

scanf("%s",con);

fprintf(stream,"%0s\n",con);

}

fclose(stream);

system("pause");

return 0;

}

這樣寫有錯嗎?

鏈接文章
分享到其他網站

這樣寫吧~

scanf函數只會抓到空白...

所以建議兩種用法...

  1. 直接抓字元,抓一個印一個
  2. 抓一行印出一行

方法一:


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

int main(void)
{
FILE *stream;
char c;

stream=fopen("Unit1.txt","w");

if(stream==NULL)
printf("cant open this file\n");
else
{
printf("輸入一段文字,寫入在桌面上的Unit1.txt\n輸入^結束...\n");
while(c=getche(),c!='^'){
if(c=='\r')
printf("\n");
putc(c,stream);
}
}
printf("\n");
fclose(stream);
system("pause");
return 0;
}

方法二:


#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define BUFFER 1000

int main(void)
{
FILE *stream;
char c[BUFFER];

stream=fopen("Unit1.txt","w");

if(stream==NULL)
printf("cant open this file\n");
else
{
printf("輸入一段文字,寫入在桌面上的Unit1.txt\n輸入^Z並按ENTER結束...\n");
while(fgets(c,BUFFER-1,stdin)!=NULL){
int i,len=strlen(c);
for(i=0;i<len-1;i++)
if(c[i]=='^'&&c[i+1]=='Z')
break;
if(i<len-1)
break;
fprintf(stream,"%s",c);
}
}
printf("\n");
fclose(stream);
system("pause");
return 0;
}

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入