[問題] fopen()用'w'模式, 檔案輸出內容全變空白
各位前輩大家好 最近老師要我們寫程式 利用XOR將輸入路徑的檔案加密
我目前寫到這樣卡住了 我只會新增一個文件然後把加密的東西拷貝上去
如果是要將原檔案覆寫成加密的樣子就寫不出來 可以請前輩們給我一些意見嗎
還有一些小問題我換色放旁邊問 麻煩各位幫忙解惑>''<
#include <stdio.h>
#include <conio.h> // 載入conio.h標頭檔 /
#include <stdlib.h>
int main(void)
{
char key,text,path[100];
printf("請輸入檔案位址");
scanf("%s",&path);
printf("請按下您要當金鑰的鍵: ");
key=getche(); //按下的即為金鑰 為啥用getchar編譯會直接跳過?
printf("\n您輸入的字元是: %c\n",key);
FILE *fptr=fopen(path,"r+"); 我試過改成"w"可是寫出來路徑的文件變空白
FILE *fptr2=fopen("output.txt","w");
if (fptr!=NULL)
{
while((text=getc(fptr))!=EOF)
{
printf("%c",text);
text^=key; //此時經過XOR運算 text中存放的內容已經是亂碼
putc(text,fptr2); 為何不能填fptr,改w只會讓文件變空白
}
}
else
printf("開啟失敗");
fclose(fptr);
fclose(fptr2);
system("pause");
return 0;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.136.209.19
推
06/18 19:47, , 1F
06/18 19:47, 1F
推
06/18 19:49, , 2F
06/18 19:49, 2F
會變成輸入完路徑後看不到輸入金鑰 隨便輸入後按enter才出現接下來的東西...
→
06/18 19:50, , 3F
06/18 19:50, 3F
→
06/18 19:51, , 4F
06/18 19:51, 4F
※ 編輯: RonYen 來自: 140.136.209.19 (06/18 19:59)
→
06/19 07:43, , 5F
06/19 07:43, 5F
推
06/22 00:14, , 6F
06/22 00:14, 6F
→
06/22 00:16, , 7F
06/22 00:16, 7F