#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"
。
我怎么做使程序用户可以把..
如果我理解你的问题。
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");