#include <stdio.h>
int main(void)
{
int i;
char name[20];
FILE * src;
FILE * des;
fgets(name,20,stdin);
fopen_s(&src,"배경사진.jpg", "rb");
fopen_s(&des,name,"wb");
char buf[20];
int readcnt;
if (src == NULL || des == NULL) {
puts("파일 오픈 실패!");
return -1;
}
while (1)
{
readcnt = fread((void*)buf, 1, sizeof(buf), src);
if (readcnt < sizeof(buf))
{
if (feof(src) != 0)
{
fwrite((void*)buf, 1, readcnt, des);
puts("파일복사 완료");
}
else
puts("파일복사 실패");
break;
}
我想用cmd获取(要复制的新文件的名称)。
通常使用fopen_s(&des,"~.jpg", "wb");
。
但是我使用了char数组而不是"~.jpg"
。
我如何使程序用户可以放置..
答案 0 :(得分:1)
如果我了解您的问题。
fgets(name,20,stdin);
fopen_s(&des,name,"wb");
您的fopen_s
将失败,因为fgets
将换行符添加到name
。
因此,您需要修剪name
中的换行符。
示例:
size_t len = strlen(name);
if (len > 0 && name[len - 1] == '\n')
name[len - 1] = '\0';
fopen_s(&des,name,"wb");