问题描述
我想使用 C++ 复制文本文件 (description.txt) 的内容并将其粘贴到另一个文本文件的特定行 (movie.txt) 上。
description.txt
克里斯·加德纳 (Chris Gardner) 在出售自己投资的产品而失去了一生的收入后,在一家经纪公司接受了一份无薪实习。他的妻子离开了他,留下儿子的监护权。
movie.txt
影片名称:幸福的追求
影片简介:
// description.txt 内容在这里
首次发布:2006 年 11 月
导演:加布里埃尔·穆奇诺
改编自:幸福的追求
解决方法
我做了一个你可以使用的函数。
void CopyContentOfTextFile(char* sourceFile,char* targetFile,int targetLine)
{
FILE* resultFilePtr = fopen("result.txt","w");
FILE* sourceFilePtr = fopen(sourceFile,"r");
FILE* targetFilePtr = fopen(targetFile,"r");
char line[256];
int lineCounter= 0;
while (fgets(line,256,targetFilePtr)!=NULL)
{
if (lineCounter == targetLine-1)
{
char lineToBeAdded[256];
//Now read sourceFile
while (fgets(lineToBeAdded,sourceFilePtr) != NULL)
{
fprintf(resultFilePtr,"%s",lineToBeAdded);
}
fprintf(resultFilePtr,"\n");
}
fprintf(resultFilePtr,line);
lineCounter++;
}
fclose(sourceFilePtr);
fclose(targetFilePtr);
fclose(resultFilePtr);
//Remove old movie.txt file with new one
remove(targetFile);
rename("result.txt",targetFile);
}
要调用它,请使用以下内容:
int main()
{
char pathToSourceFile[] = "description.txt";
char pathToTargetFile[] = "movie.txt";
int line = 3;
CopyContentOfTextFile(pathToSourceFile,pathToTargetFile,line);
}