小编Bri*_*own的帖子

如何在C++中将字符串转换为char数组?

我想转换stringchar数组但不是char*.我知道如何将字符串转换为char*(通过使用malloc或我在代码中发布它的方式) - 但这不是我想要的.我只是想转换stringchar[size]数组.可能吗?

#include <iostream>
#include <string>
#include <stdio.h>
using namespace std;

int main()
{
    // char to string
    char tab[4];
    tab[0] = 'c';
    tab[1] = 'a';
    tab[2] = 't';
    tab[3] = '\0';
    string tmp(tab);
    cout << tmp << "\n";

    // string to char* - but thats not what I want

    char *c = const_cast<char*>(tmp.c_str());
    cout << c << "\n";

    //string to char
    char tab2[1024];
    // …
Run Code Online (Sandbox Code Playgroud)

c++ string type-conversion

89
推荐指数
6
解决办法
50万
查看次数

ALTER TABLE,在非空列中设置null,PostgreSQL 9.1

我有一个非空列的表,如何在此列中设置空值作为默认值?

我的意思是,我想做这样的事情:

postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;
Run Code Online (Sandbox Code Playgroud)

但它显示:

postgres=# ALTER TABLE person ALTER COLUMN phone SET NULL;
ERROR:  syntax error at or near "NULL"
LINE 1: ALTER TABLE person ALTER COLUMN phone SET NULL;
Run Code Online (Sandbox Code Playgroud)

postgresql null postgresql-9.1

78
推荐指数
4
解决办法
8万
查看次数

从模板创建用于在Qt中打印的PDF文档

当用户在对话框窗口(文档标题,发件人姓名和地址等)中插入数据时,我编写了一个应用程序,然后我的应用程序应该从该用户数据生成pdf文件.

PDF文件应该有定义的布局,如下所示:

在此输入图像描述

我试图这样做,QPdfWriter但在pdf中对齐文本时遇到问题.这是我的代码:

#include <QApplication>
#include <QtCore>
#include <QPrinter>
#include <QPdfWriter>
#include <QPainter>

QString currDate()
{
    QDate date = QDate::currentDate();
    return date.toString("dd.MM.yyyy");
}

void pdf(QString filename)
{
    QPdfWriter writer(filename);
    writer.setPageSize(QPagedPaintDevice::A4);
    writer.setPageMargins(QMargins(30, 30, 30, 30));

    QPainter painter(&writer);
    painter.setPen(Qt::black);
    painter.setFont(QFont("Times", 10));

    QRect r = painter.viewport();

    QString citydate = "City, ";
    citydate += currDate();

    painter.drawText(r, Qt::AlignRight, citydate);


QString sender = "COMPANY XYZ\n";
sender += "Random Street 12/314A\n";
sender += "123-1232 City\n";

painter.drawText(r, Qt::AlignLeft, sender);
    painter.end();
}


int main(int argc, char *argv[]) …
Run Code Online (Sandbox Code Playgroud)

c++ pdf qt

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

NodeJS,crypto.randomUUID 不是函数

我对 JS 很陌生,我想生成一个 UUID。这是我一步一步尝试的:

  1. mkdir test
  2. cd test
  3. touch file1.js
  4. 里面file1.js

let crypto;
try {
  crypto = require('crypto');
} catch (err) {
  console.log('crypto support is disabled!');
}


var uuid = crypto.randomUUID();
console.log(uuid);
Run Code Online (Sandbox Code Playgroud)

你会看到错误。怎么了?我在任何地方都找不到答案。节点 JS 版本:

node -v节目v12.22.9

在此输入图像描述

javascript uuid node.js

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

使用printf格式在C中打印等宽列

我想在C中使用printf打印列.我写了这段代码:

#include <stdio.h>

void printme(char *txt1, char *txt2, char *txt3)
{
    printf("TXT1: %9s TXT2 %9s TXT3 %9s\n", txt1, txt2, txt3);
}


int main()
{
    printme("a","bbbbbbbeeeeebbbbb","e");
    printme("aaaaaaaa","bbbbbbbbbbbb","abcde");
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

它有效,但我有这样的输出:

TXT1:         a TXT2 bbbbbbbeeeeebbbbb TXT3         e
TXT1:  aaaaaaaa TXT2 bbbbbbbbbbbb TXT3     abcde
Run Code Online (Sandbox Code Playgroud)

所以列不是等宽的.基本上,我想这样做,无论我的论证中的文本有多长,我的函数总是打印出一个很好的格式化列.问题是:我该怎么做?

saing nice我的意思是无论文本传递给我的打印功能多长时间,它都会打印出等宽列,例如:

我有这样的输出,如下所示:

a         cd`           fg           ij  
a         cd             fg           ij  
a         cd             fg           ij  
ab         cd             fg           ij  
ab         cd             fg           i j   
ab         cd             fg           ij  
ab         cd             fg           ij  
ab         cde             fgh         ij …
Run Code Online (Sandbox Code Playgroud)

c printf

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

通过翻转单元格组用零填充二维数组

有一个问题,我需要用零填充数组,具有以下假设:

  • 在数组中只能有01
  • 我们只能改变0110
  • 当我们1在数组中相遇时,我们必须将它更改为0,以便它的邻居也被更改,例如,对于如下所示的数组:
1 0 1
1 1 1
0 1 0
Run Code Online (Sandbox Code Playgroud)

当我们在(1,1)处更改元素时,我们得到了这样的数组:

1 1 1
0 0 0
0 0 0
Run Code Online (Sandbox Code Playgroud)
  • 我们无法改变第一行
  • 我们只能更改数组中的元素
  • 最终的结果是时候,我们必须改变数10零出数组

1)第一个例子,数组如下所示:

0 1 0
1 1 1
0 1 0
Run Code Online (Sandbox Code Playgroud)

答案是1.

2)第二个例子,数组如下所示:

0 1 0 0 0 0 0 0
1 1 1 0 1 0 1 0
0 0 1 1 0 1 1 1 …
Run Code Online (Sandbox Code Playgroud)

c++ arrays algorithm

9
推荐指数
2
解决办法
968
查看次数

无法从派生类访问基类中的受保护成员

继承我的代码:

#include <iostream>
#include <cmath>
#include <sstream>
using namespace std;

class root
{
    protected :

            int size;
            double *array;

    public :

        virtual ~root() {}
        virtual root* add(const root&) = 0;
        virtual root* sub(const root&) = 0;
        virtual istream& in(istream&, root&) = 0;
        virtual int getSize() const = 0;
        virtual void setSize(int);
};

class aa: public root
{

    public :

        aa();
        aa(int);
        aa(const aa&);
        root* add(const root& a);
        root* sub(const root& a);
        istream& in(istream&, root&){}
        int getSize() const;
        void setSize(int);
}; …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance protected public

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

对类的'typeinfo'的未定义引用和对'class for class'的未定义引用

我正在处理C++中的继承.我想编写一个程序来加减两个数组.继承我的代码:

#include <iostream>
#include <cmath>
#include <sstream>
using namespace std;

class root
{
    protected :

            int size;
            double *array;

    public :

        virtual ~root() {}
        virtual root* add(const root&) = 0;
        virtual root* sub(const root&) = 0;
        virtual istream& in(istream&, root&) = 0;

        virtual int getSize() const = 0;
        virtual void setSize(int);
        virtual int getAt(int) const = 0;
};

class aa: public root
{

    public :

        aa();
        aa(int);
        aa(const aa&);
        root* add(const root& a);
        root* sub(const root& a);
        istream& in(istream&, root&){} …
Run Code Online (Sandbox Code Playgroud)

c++ vtable undefined-reference

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

用C获取操作系统名称[Linux,可移植用于发行版:Centos,Debian,Fedora,OpenSUSE,RedHat,Ubuntu]

我知道我可以用这个简单的命令检查我的操作系统名称:lsb_release -ds.但我也知道,它在我需要它的所有平台上都不可移植.我试过struct utsname info;并且uname(&info)它工作得很好,但只给我"基础"名称 - "Linux".

是否有任何便携式(C)方式获得完整的操作系统名称?至少可以在Centos,Debian,Fedora,OpenSUSE,RedHat,Ubuntu之间移植吗?干杯

c linux operating-system

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

如何更改 &lt;f:facet&gt; 标题的颜色?

确切地说,我该怎么做?尝试:

<f:facet id="form" name="header" class="customHeader">
   <h:outputText value="HELLO!"/>
</f:facet>
Run Code Online (Sandbox Code Playgroud)

和我的 CSS:

.customHeader th{
    background-color:  activeborder;
    background-image: none;
}
Run Code Online (Sandbox Code Playgroud)

我记得将 CSS 文件包含到 JSF 页面中:

<link type="text/css" ref="stylesheet" href="./newcss.css"/>
Run Code Online (Sandbox Code Playgroud)

但没有结果,我无法更改标题颜色,我根本看不到任何变化。有什么帮助吗?

下面是生成的 HTML 代码:

<html xmlns="http://www.w3.org/1999/xhtml">
    <head id="j_idt2">
        <title>Facelet Title</title>
        <link type="text/css" 
              ref="stylesheet" 
              href="./newcss.css" />
    </head
    ><body>
        <form id="j_idt5" 
              name="j_idt5" 
              method="post" 
              action="/HTableJSF/faces/newjsf.xhtml" 
              enctype="application/x-www-form-urlencoded">
            <input type="hidden" name="j_idt5" value="j_idt5" />
            <table style="background-color: black">
                <thead>
                    <tr>
                        <th colspan="1" scope="colgroup">HELLO!</th>
                    </tr>
                </thead>
                <tbody>
                    <tr>
                        <td>
                            <span class="row1">HELLO</span>
                        </td>
                    </tr>
                </tbody>
            </table>
            <input type="hidden" 
                   name="javax.faces.ViewState" 
                   id="j_id1:javax.faces.ViewState:0" 
                   value="-3603525257247985306:-5087066467544098625" 
                   autocomplete="off" /> …
Run Code Online (Sandbox Code Playgroud)

css jsf facets

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