我有一个文件复制程序,从一个文件,并粘贴在另一个文件指针.但是,不是从用户输入获取targetname,而是想在输入文件名的末尾添加一个'1'并保存.所以,我试过这样的事......
.... header & inits ....
fp=fopen(argv[1],"r");
fq=fopen(argv[1].'1',"w");
.... file copy code ....
Run Code Online (Sandbox Code Playgroud)
是的,它似乎很愚蠢,但我是初学者,需要一些帮助,请尽快回复.感谢:D
PS想要它在纯C中.我相信点运算符可以在C++中工作..或至少我认为..嗯
还有一件事,我已经知道了strcat函数..如果我使用它,那么我将不得不在数组中定义大小......嗯.有没有办法像fopen一样(argv [1] +"extra","w")
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
char* stradd(const char* a, const char* b){
size_t len = strlen(a) + strlen(b);
char *ret = (char*)malloc(len * sizeof(char) + 1);
*ret = '\0';
return strcat(strcat(ret, a) ,b);
}
int main(int argc, char *argv[]){
char *str = stradd(argv[1], "extra");
printf("%s\n", str);
free(str);
return 0;
}
Run Code Online (Sandbox Code Playgroud)