我是一名学生程序员,使用 Qt 构建用于工作的 GUI 应用程序。此应用程序的主要目的是打开我们的一些旧样式文件,允许更好地编辑,然后以新格式和文件扩展名保存文件。最近有人要求我允许从终端进行这种转换。虽然我确实知道 argv 和 argc 是什么以及它们代表什么,但我不确定如何完成他们想要的。例如如何处理相对路径与绝对路径……也许如何从相对路径中获取绝对路径;也许这些都不需要。我的编程经验主要是使用 guis,所以这对我来说有点新。
用户希望从终端运行以下内容
application -o /fileLocation /fileDestination template(to determine new format)
我开始使用 for 循环和 if 语句来完成这一点,因为我意识到我可能正在对所有这一切采取磨损的方法。如果 QT 有这方面的东西,我也会很感兴趣!这是我开始想出的:
int main(int argc, char *argv[])
{
if(argc > 1)
{
for(int i = 0; i < argc; i++)
{
if(argv[i] == "-c")
{
QString fileName = QString::fromStdString(argv[i+1]);
QString fileDestination = QString::fromStdString(argv[i+2]);
QString templateName = QString::fromStdString(argv[i+3]);
QFile fileToConvert(fileName);
if(fileToConvert.open(QFile::ReadOnly))
{
//do stuff
感谢您阅读我的帖子,非常感谢您为帮助我克服这个问题所做的任何贡献。