标签: const-char

无法将 QString 转换为 Const Char*

我是 QT 的新手,所以如果我在这里公然做错了什么,请原谅我,但我已经查看了这里有关此事的所有问题,但似乎找不到有效的方法。我试图让用户通过输入名称来创建一个文件夹,然后它会使用该名称“创建”一个文件夹。我说“创建”是因为它并不完全是创建一个,它在您输入名称之前首先创建一个名为“project”的文件夹,当您输入名称时它会重命名它。但是,当我尝试使用输入的名称重命名文件夹时,它给了我

错误:C2664:“int rename(const char *,const char *)”:无法将参数1从“QString”转换为“const char *”

这是我的代码:

    void MainWindow::on_actionNew_Project_triggered(const char *parameter)
{
    //Create project folder
    QString projectPath = "D:/Project";

    QDir dir(projectPath);
        if (!dir.exists()) {
            dir.mkpath(projectPath);
    }


    //Get project name from user
    bool result;
    QString name = QInputDialog::getText(0, "New Project",
                                             "Enter in project name", QLineEdit::Normal,
                                             "", &result);
    if(result && !name.isEmpty()) {

    //Rename project folder to user created name
    QDir dir(projectPath);
        if (dir.exists()) {
            rename(projectPath, name); //Gives me error HERE

        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果你们能帮忙,我将不胜感激,我已经在这个问题上坚持了几个小时了。

c++ qstring qt compiler-errors const-char

0
推荐指数
1
解决办法
9043
查看次数

C++在向量中获取const char*[]的长度

如何获取const char*数组索引的长度?

矢量:

std::vector<const char*> _infoBarText;
Run Code Online (Sandbox Code Playgroud)

const char*[]:

const char* text[4] = {"Current T:", "Target T:", "Time elapsed:", "Time remaining:"};
Run Code Online (Sandbox Code Playgroud)

将char数组分配给向量:

_infoBarText.assign(text, text+4);
Run Code Online (Sandbox Code Playgroud)

如何"current T"从向量中获取单个字符串的长度?

c++ const-char vector

0
推荐指数
1
解决办法
736
查看次数

const char* 作为参数传递时会自动删除吗?

当我将 aconst char*作为函数参数传递时(像这样):

void print(const char* text)
{
     std::cout << text << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

会自动删除吗?如果没有,它会发生什么,我应该如何删除它?

c++ pointers memory-management const-char string-literals

0
推荐指数
1
解决办法
389
查看次数

Cout在遍历const char时给出垃圾输出

执行以下代码时,我得到了我期望的结果以及一些意外的输出:

#include <iostream>

using std::cout;
using std::endl;

int main()
{
    const  char ca[] = {'h', 'e', 'l', 'l', 'o'};
    const char *cp = ca;
    while (*cp)
    {
        cout << *cp << endl;
        ++cp;
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

h
e
l
l
o
?
?
m
Run Code Online (Sandbox Code Playgroud)

最后剩下的字符是什么?const char数组中是否有未说明的内容?

c++ arrays const-char

-3
推荐指数
1
解决办法
50
查看次数