小编mas*_*oud的帖子

基于便携式文本的控制台操纵器

应用程序可以操作基于文本的控制台或终端,并更改其颜色,设置光标位置,...

支持的方法是:

但是,有没有轻量级和可移植的C/C++库来处理颜色和光标的操作系统之间的差异? 如果技术上不可能,那就尽一切努力

注意:我不是在寻找重型外部工具来模拟类似unix的终端(比如Cygwin,Msys-rxvt,......).我认为使用Windows API和ANSI转义码可以实现简单的可移植性.
而不是ncurses因为它很重,并且有很多功能来完全控制控制台,我认为它需要仿真

注意(2):我早期和丑陋的努力是一个Console用VC++ 6编写的Windows库,但它不可移植......你可以在这里看到它.

c c++ terminal console

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

与包含的类型相比,C++中的数组是如何对齐的?

假设我有一些T必须N字节对齐的类型.现在我声明一个类型的数组T:

T array[size];
Run Code Online (Sandbox Code Playgroud)

阵列是否具有与类型相同的对齐要求,T还是具有任何其他对齐要求?

c++ arrays

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

在Swift中生成一个范围内的随机整数的最简单方法是什么?

我到目前为止设计的方法是这样的:

func randRange (lower : Int , upper : Int) -> Int {
    let difference = upper - lower
    return Int(Float(rand())/Float(RAND_MAX) * Float(difference + 1)) + lower
}
Run Code Online (Sandbox Code Playgroud)

这会生成低位和高位之间的随机整数.

random limits range swift

21
推荐指数
3
解决办法
2万
查看次数

在C++中删除类型名称的名称空间

在C++中,当我们使用typeid获取对象或类的类型名称时,它将显示一个装饰(受损)字符串.我用cxxabi它去解码它:

#include <cxxabi.h>
#include <typeinfo>

namespace MyNamespace {

class MyBaseClass
{
public:
    const std::string name()
    {
        int status;
        char *realname = abi::__cxa_demangle(typeid (*this).name(),0,0, &status);
        std::string n = realname;
        free(realname);
        return n;
    }
};

}

int main()
{
    MyNamespace::MyBaseClass h;
    std::cout << h.name() << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

输出gcc是:

myNameSpace对象:: MyBaseClass

我需要MyNamespace::从上面的字符串中删除.我可以通过字符串操作删除它们 .

但是,有没有标准方法与cxxabi其他库或这样做或明确的解决方案?(至少可以在gcc和Visual C++之间移植)

c++ rtti

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

如何在C中比较套接字地址?

我的意思是,struct sockaddr当我检查两个是否struct sockaddr有相同的IP地址和端口号时,我应该比较哪些字段?那怎么样sockaddr_in

可我只是投sockaddr_insockaddr,并把它比真实的sockaddr

c sockets

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

Q_DECL_EXPORT关键字含义

Q_DECL_EXPORT int main(int argc, char **argv)

这是什么Q_DECL_EXPORT之前int main(...)手段?

c++ blackberry-10

16
推荐指数
2
解决办法
2万
查看次数

auto关键字的声明点

我之前有一个问答:C++中的声明点.规则的声明点很适用于许多情况.现在,我对auto这个规则的组合使用感到困惑.

考虑这两个代码:

一世.声明x本身(我们不希望它的工作):

{
  auto x = x;
}
Run Code Online (Sandbox Code Playgroud)

II.x通过外部声明内部x (它在gcc 4.8.x中产生错误):

{
  int x = 101; // the outer x
  {
    auto x = x; // the inner x
  }
}
Run Code Online (Sandbox Code Playgroud)

根据宣言点的规则,它应该有效,但事实并非如此.似乎标准中有另一条规则我错过了它.问题是,使用时的声明点在哪里auto

 

有两种可能性:

一世.如果声明点在声明=结尾之后:

auto object = expression;
                        ^
                        Is it here? If it is, why gcc complains?
Run Code Online (Sandbox Code Playgroud)

所以第二个声明是有效的并且必须有效,因为x除了那个外部声明(之前声明).因此auto x=x是有效的,内部x应该被分配101.

  …

c++ c++11

16
推荐指数
3
解决办法
994
查看次数

使顶部div与它下面的div一样宽

看到这个:http://jsfiddle.net/90d7144p/

我希望DIV与类的宽度rect与其底层DIV一样长box.box不应更改类(至少最小的更改).此外,框不是按表格对齐的.我不关心容器的大小(黑色边框).

这个

在此输入图像描述

应该

在此输入图像描述

CSS:

* { margin: 2px; }

.container { width: 100%; border: 1px solid black; }

.box { display: inline-block; width:100px; height:100px; border: 1px solid red; }

.rect { border: 1px solid green; }
Run Code Online (Sandbox Code Playgroud)

HTML:

<div class="container">
    <div class="rect">The width must be as long as underlying boxes.</div>
    <div class="box">BOX</div> <div class="box">BOX</div>
    <div class="box">BOX</div> <div class="box">BOX</div>
    <div class="box">BOX</div> <div class="box">BOX</div>
    <div class="box">BOX</div> <div class="box">BOX</div>
    <div class="box">BOX</div>
</div>
Run Code Online (Sandbox Code Playgroud)

有没有基于CSS或HTML的解决方案?

html css

15
推荐指数
2
解决办法
954
查看次数

iReport中的google.zxing条形码生成器

我想在我的页面中放一个条形码并可以预览它.条形码生成器是google.zxing,我的报告工具是iReport.

但我不知道,如何配置Image ExpressionExpression ClassiReport中的图像.

java barcode jasper-reports ireport zxing

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

从非Qt线程或ouside Qt主事件循环发出Qt信号,为4.5

emit signal1()从一个非Qt线程调用一个.非Qt线程我的意思不是来自GUI事件循环而不是来自任何QThread run()方法或任何QThread自己的事件循环.

它只是一个pthread(pthread_create()),它调用一个发出信号的QObject方法.

例如:

MyQbject: public QObject
{
...
void emitBunchOfSignals()
{
 emit signal1();
 emit signal2();
 ...
}
...
}
Run Code Online (Sandbox Code Playgroud)

我的pthread的"run"方法,它有一个指向MyObject实例的指针(在主Qt GUI线程上下文中创建的实例而不是pthread)调用emitBunchOfSignals()方法.

在Qt 4.5之前,这是令人讨厌的.现在,Qt 4.5会处理这个吗?它是否会调用qApp->PostEvent()或在Qt GUI线程内发出信号(因此也是插槽)?

谢谢

qt multithreading qt4

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