当前位置: 首页 > 知识库问答 >
问题:

如何在Ubuntu中将内容从一个文件传输到另一个文件。?[重复]

孟哲
2023-03-14

我试图在linux中将一个文件的内容复制到另一个文件。我认为我的逻辑是正确的,但我不明白错误是什么。

我的函数采用3个参数。第三个参数是一个字符串,它是应该从中读取内容的文件名。

#include<iostream>
#include <curses.h>
#include<fstream>
#include<stdio.h>
#include<stdlib.h>
#include<string>
void process(int cvar, int cclause, string fnm)
{
    ifstream fs;
    ofstream ft;

    fs.open("contents.txt");
    if(!fs)
    {
        cout<<"Error in opening source file..!!";
    }
    ft.open(fnm,ios::app);
    if(!ft)
    {
        cout<<"Error in opening target file..!!";
        fs.close();
    }

char str[255];
while(fs.getline(str,255))
{
    ft<<str;
}



    cout<<"File copied successfully..!!";
    fs.close();
    ft.close();
    getch();
}

这就是我得到的错误:

g++ mainProj.cpp -lz3
/tmp/ccLBpiRs.o: In function `process(int, int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)':
mainProj.cpp:(.text+0x172): undefined reference to `stdscr'
mainProj.cpp:(.text+0x17a): undefined reference to `wgetch'
collect2: error: ld returned 1 exit status

共有3个答案

朱兴安
2023-03-14

如何在Ubuntu中将内容从一个文件传输到另一个文件。?

下面是一个简单有效的片段。有更有效的方法:

#include <iostream>  
#include <fstream>
#include <string>  

void copy_file(const std::string&  source_filename, const std::string& destination_filename)
{
    std::ifstream input(source_filename.c_str(), "b");
    std::ofstream output(destination_filename.c_str(), "b");
    const size_t BUFFER_SIZE = 1024 * 16;
    static uint8_t buffer[BUFFER_SIZE];
    while (input.read(buffer, BUFFER_SIZE))
    {
        const size_t bytes_read = input.gcount();
        output.write(buffer, bytes_read);
    }
}

上面的代码使用了一个大缓冲区。文件内容被读取(使用二进制模式)到缓冲区中,然后使用块I/O写入另一个文件。文件是流式设备,在传输{大}数据块时效率最高。

邵诚
2023-03-14

如何在Ubuntu中将内容从一个文件传输到另一个文件。?

您可以使用输入流从文件中读取,并使用输出流写入文件。

mainProj.cpp:(.text+0x172): undefined reference to `stdscr'
mainProj.cpp:(.text+0x17a): undefined reference to `wgetch'

您已经包含了一个标题

巫煌
2023-03-14

这里更多。

 类似资料:
  • 如何将一个文本文件复制到另一个文本文件中?我试过这个: 这只是在中留下以下值:。 我做错了什么?

  • 问题内容: 我正在使用以下外壳程序脚本将一个文件的内容查找到另一个文件中: 我正在执行脚本,但未显示CSV文件中的内容。我的contents.txt文件还包含CSV文件中的数字,例如或。我的工作有什么问题吗? 问题答案: 本身能够做到。只需使用标志: 是每行包含一个模式的文件;并且是要在其中进行搜索的东西文件。 请注意,即使每行的内容看起来像一个正则表达式,也要强制将每行视为一个模式,您应该使用f

  • 我们正在努力从Maven迁移到Gradle。不幸的是,我们还有几个战争复盖物要处理。

  • 我必须将ant项目转换为gradle项目。在这里,当我运行gradle构建时,它创建了war文件,当它部署在服务器上时,分解的war文件夹有两个文件夹META-INF和WEB-INF,我的要求是1。将web.xml从图像中看到的config文件夹复制到WEB-INF文件夹,并将图像中看到的jsp文件夹复制到分解文件夹

  • 问题内容: 我想将五个文件的内容照原样复制到一个文件中。我尝试使用cp为每个文件执行此操作。但这会覆盖从先前文件复制的内容。我也试过 它没有用。 我希望我的脚本在每个文本文件的末尾添加换行符。 例如。文件1.txt,2.txt,3.txt。将1,2,3的内容放入0.txt 我该怎么做 ? 问题答案: 您需要(concatenate的简称)命令,并使用shell重定向()进入输出文件

  • //我得到的错误是java。尼奥。文件FileAlreadyExistsException所以据我所知,它试图将文件保存到确切的位置,而不是保存在文件中,如果我将目标地址改为“垃圾/垃圾”,我需要以这种方式保存几个文本文件。它将在那里保存一个名为垃圾的文件。txt。但在for-each的下一个循环中,它会抛出一个“已经存在”的异常。。。 有人能解释一下我如何从src文件夹将所有txt文件保存到该文