bool CheckParse( int argc, char** argv ) { bool bRes = false; if( argc != 4 && argc != 5 ) goto out; if( argc == 4 && argv[1][1] == 'k' ) { //! 生成公、私钥对 if( !IsNumber( argv[2] ) || !IsNumber( argv[3] ) || atoi( argv[2] ) > MAX_PRIME || atoi( argv[3] ) > MAX_PRIME ) goto out; } else if( (argc == 5) && (argv[1][1] == 'e' || argv[1][1] == 'd') ) { //! 加密、解密操作 if( !IsNumber( argv[3] ) || !IsNumber( argv[4] ) || atoi( argv[3] ) > MAX_NUM || atoi( argv[4] ) > MAX_NUM ) goto out; } else Usage(*argv); bRes = true; out: return bRes; }改成c语言
时间: 2023-12-31 19:03:44 浏览: 81
bool CheckParse(int argc, char** argv) {
bool bRes = false;
if (argc != 4 && argc != 5)
goto out;
if (argc == 4 && argv[1][1] == 'k') {
// 生成公、私钥对
if (!IsNumber(argv[2]) || !IsNumber(argv[3]) || atoi(argv[2]) > MAX_PRIME || atoi(argv[3]) > MAX_PRIME)
goto out;
} else if ((argc == 5) && (argv[1][1] == 'e' || argv[1][1] == 'd')) {
// 加密、解密操作
if (!IsNumber(argv[3]) || !IsNumber(argv[4]) || atoi(argv[3]) > MAX_NUM || atoi(argv[4]) > MAX_NUM)
goto out;
} else {
Usage(*argv);
}
bRes = true;
out:
return bRes;
}
相关问题
解释这段代码=bool parse_args(int argc, char** argv, std::string& wts, std::string& engine, bool& is_p6, float& gd, float& gw, std::string& img_dir) { if (argc < 4) return false; if (std::string(argv[1]) == "-s" && (argc == 5 || argc == 7)) { wts = std::string(argv[2]); engine = std::string(argv[3]); auto net = std::string(argv[4]); if (net[0] == 's') { gd = 0.33; gw = 0.50; } else if (net[0] == 'm') { gd = 0.67; gw = 0.75; } else if (net[0] == 'l') { gd = 1.0; gw = 1.0; } else if (net[0] == 'x') { gd = 1.33; gw = 1.25; } else if (net[0] == 'c' && argc == 7) { gd = atof(argv[5]); gw = atof(argv[6]); } else { return false; } if (net.size() == 2 && net[1] == '6') { is_p6 = true; } } else if (std::string(argv[1]) == "-d" && argc == 4) { engine = std::string(argv[2]); img_dir = std::string(argv[3]); } else { return false; } return true; }
这段代码是一个函数,用于解析命令行参数。函数的参数包括命令行参数的个数和字符串数组,以及需要解析的若干个变量的引用。函数会将解析结果存储在这些变量中,并返回一个布尔值表示解析是否成功。具体来说,函数会检查命令行参数的个数和格式是否符合要求,然后根据参数的值来设置各个变量的值。其中,如果第一个参数是"-s",则认为这是启动一个推理服务的命令;如果第一个参数是"-d",则认为这是进行图像识别的命令。在推理服务的命令中,第二个参数是模型文件的路径,第三个参数是推理引擎的类型,第四个参数是模型的大小(例如"s"表示小模型)。如果模型是"CSPDarknet53-panet-spp"等特殊模型,还可以通过第五个和第六个参数指定特定的模型大小。在图像识别的命令中,第二个参数是推理引擎的类型,第三个参数是图像文件夹的路径。如果解析失败,则返回false。
#include <QtWidgets> class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = nullptr) : QMainWindow(parent) { QPushButton *selectButton = new QPushButton("选择文件", this); connect(selectButton, &QPushButton::clicked, this, &MainWindow::selectFile); QVBoxLayout *layout = new QVBoxLayout; layout->addWidget(selectButton); QWidget *centralWidget = new QWidget(this); centralWidget->setLayout(layout); setCentralWidget(centralWidget); } private slots: void selectFile() { QString filePath = QFileDialog::getOpenFileName(this, "选择文件", "", "DWG Files (*.dwg)"); // 处理所选文件的逻辑 } }; int main(int argc, char *argv[]) { QApplication app(argc, argv); MainWindow window; window.show(); return app.exec(); } 添加一个功能 选择文件成功 return ture; 否则return false;
您想要在selectFile()函数中添加一个功能,如果成功选择文件,则返回true;否则返回false。下面是修改后的代码:
```cpp
#include <QtWidgets>
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(QWidget *parent = nullptr) : QMainWindow(parent)
{
QPushButton *selectButton = new QPushButton("选择文件", this);
connect(selectButton, &QPushButton::clicked, this, &MainWindow::selectFile);
QVBoxLayout *layout = new QVBoxLayout;
layout->addWidget(selectButton);
QWidget *centralWidget = new QWidget(this);
centralWidget->setLayout(layout);
setCentralWidget(centralWidget);
}
private slots:
void selectFile()
{
QString filePath = QFileDialog::getOpenFileName(this, "选择文件", "", "DWG Files (*.dwg)");
bool success = !filePath.isEmpty(); // 判断是否成功选择文件
if (success) {
// 处理所选文件的逻辑
qDebug() << "文件路径:" << filePath;
// 返回true
return true;
} else {
// 返回false
return false;
}
}
};
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
MainWindow window;
window.show();
return app.exec();
}
```
请注意,由于槽函数`selectFile()`的返回类型是`void`,所以不能直接返回true或false。在代码中,我添加了一个bool类型的局部变量`success`来表示是否成功选择文件,并在逻辑处理后打印了文件路径。您可以根据具体需求对逻辑进行修改。
阅读全文