我想转换string为char数组但不是char*.我知道如何将字符串转换为char*(通过使用malloc或我在代码中发布它的方式) - 但这不是我想要的.我只是想转换string为char[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) 我有一个非空列的表,如何在此列中设置空值作为默认值?
我的意思是,我想做这样的事情:
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) 当用户在对话框窗口(文档标题,发件人姓名和地址等)中插入数据时,我编写了一个应用程序,然后我的应用程序应该从该用户数据生成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) 我对 JS 很陌生,我想生成一个 UUID。这是我一步一步尝试的:
mkdir testcd testtouch file1.jsfile1.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
我想在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) 有一个问题,我需要用零填充数组,具有以下假设:
0和10来1和1到01在数组中相遇时,我们必须将它更改为0,以便它的邻居也被更改,例如,对于如下所示的数组:Run Code Online (Sandbox Code Playgroud)1 0 1 1 1 1 0 1 0
当我们在(1,1)处更改元素时,我们得到了这样的数组:
Run Code Online (Sandbox Code Playgroud)1 1 1 0 0 0 0 0 0
1以0零出数组1)第一个例子,数组如下所示:
Run Code Online (Sandbox Code Playgroud)0 1 0 1 1 1 0 1 0
答案是1.
2)第二个例子,数组如下所示:
Run Code Online (Sandbox Code Playgroud)0 1 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 1 0 1 1 1 …
继承我的代码:
#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++中的继承.我想编写一个程序来加减两个数组.继承我的代码:
#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) 我知道我可以用这个简单的命令检查我的操作系统名称:lsb_release -ds.但我也知道,它在我需要它的所有平台上都不可移植.我试过struct utsname info;并且uname(&info)它工作得很好,但只给我"基础"名称 - "Linux".
是否有任何便携式(C)方式获得完整的操作系统名称?至少可以在Centos,Debian,Fedora,OpenSUSE,RedHat,Ubuntu之间移植吗?干杯
确切地说,我该怎么做?尝试:
<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)