小编lor*_*d.h的帖子

QT:如何在文本浏览器中显示linux命令输出

我想以编程方式运行Linux命令并在文本浏览器中显示输出.这是我的代码:

void MainWindow::on_pushButton_clicked(){
QString  qstr;

FILE *cl = popen("ifconfig eth0", "r");
char buf[1024];
while (fgets(buf, sizeof(buf), cl) != 0) {
    qstr = QString::fromutf8(buf);
    ui->textBrowser->setText(qstr);
}
pclose(ls);
}
Run Code Online (Sandbox Code Playgroud)

但我在文本浏览器中什么都没有.如果我改变qstrui->textBrowser->setText(qstr);一些任意"string",它工作正常.有帮助吗?!谢谢.

linux qt

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

使用模板将任何类型的参数传递给c ++中的函数

我想将any-type参数传递给我的函数func1().所以这是我的代码: myclass.h:

public:
   myclass();
   template<typename T> void func1(T object);
Run Code Online (Sandbox Code Playgroud)

myclass.cpp:

template<typename T> 
void myclass::func1(T object)
{
    return;
}
Run Code Online (Sandbox Code Playgroud)

main.cpp:

int a=0;
myclass::func1<int>(a);
Run Code Online (Sandbox Code Playgroud)

但我得到了这个错误:

error: cannot call member function 'void myclass::func1(T) [with T = int]' without object
Run Code Online (Sandbox Code Playgroud)

我的错误在哪里?

c++ templates

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

android:光标会忽略表中的第一行

我有一个数据库,我想使用游标收集字符串[]中一列的所有对象...所以这是我的代码:

c.moveToFirst();
int i = 0;
String[] addresses = new String[c.getCount()];
while(c.moveToNext()) {
    addresses[i] = c.getString(c.getColumnIndex("address"));
    i++;
}
c.close();
Run Code Online (Sandbox Code Playgroud)

但是当我使用这段代码时:

StringBuilder builder = new StringBuilder();
for(String in : addresses) {
    builder.append("" + in + " ");
}
Toast.makeText(getApplicationContext(), builder, Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)

用于显示我的字符串[]中的所有对象,我得到了:

234567null..但是正确的答案应该是这样的:1234567..!

所以我的错误在哪里?... 谢谢!!

java android

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

标签 统计

android ×1

c++ ×1

java ×1

linux ×1

qt ×1

templates ×1