我仍然是一个 C++ 新手,最近才学习一些文件操作。我在网上查了一下,给出的代码远远超出了我目前的能力。有没有一种简单的方法可以做到这一点,或者有什么好的教程可以从基础知识解释这一点?
在 C++ 中没有跨平台的方法来做到这一点
现在我们已经解决了这个问题,Felice Pollano 的答案提供了 Windows API,以便您可以在 Windows 中操作剪贴板。
Apple 提供了一个名为 ClipboardViewer 的示例应用程序以及对 NSPasteBoard 及其提供的功能的完整参考。
对于 Linux,这取决于您运行的窗口管理器。
您可以使用ClipboardXX库来复制和粘贴简单文本。 只需从
github下载
clipboardXX.hpp
并将其复制到您的项目路径即可。然后按照它的例子:
#include "clipboard.hpp"
#include <string>
int main() {
clipboardxx::clipboard clipboard;
// copy
clipboard << "text you wanna copy";
// paste
std::string paste_text;
clipboard >> paste_text;
}
此处显示演示示例:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QClipboard>
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString originalText = "My name is khan";
ui->label_text_to_copied->setText(originalText);
connect(ui->pushButton, &QPushButton::clicked,this,&MainWindow::copy_stuff);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::copy_stuff()
{
QClipboard *clipboard = QGuiApplication::clipboard();
QString text_to_be_copied = ui->label_text_to_copied->text();
clipboard->setText(text_to_be_copied);
ui->label_copy_status->setText("Copied!");
}
如果您正在寻找一种简单的方法来执行此操作:模拟键盘组合 ctrl + v 即可完成。在所有平台上。