小编Aru*_*s23的帖子

在控制台中移动光标和打印字符不适用于睡眠

我想在同一个地方一个一个地打印一个字符序列。我打印一个字母,然后在睡眠状态下等待 1 秒钟,使用控制台代码将光标向左移动一列,打印下一个字母等等。问题是程序等待所有睡眠的总和(在我的示例中为 2s),然后只打印最后一个字符('y')。nanosleep 也是如此,等待信号而不是睡眠。如何使它工作?

#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>

int main()
{
    printf( "H" );
    sleep( 1 );
    printf( "\033[1D" );
    printf( "e" );
    sleep( 1 );
    printf( "\033[1D" );
    printf( "y" );
}
Run Code Online (Sandbox Code Playgroud)

c unix linux terminal

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

如何使用 PostGIS 扩展将多边形插入数据库

我有一个表,其中包含以这种方式创建的字段:

CREATE TABLE buildings(id SERIAL PRIMARY KEY, geom GEOMETRY, name VARCHAR(30));
Run Code Online (Sandbox Code Playgroud)

我想将简单的 2D 建筑插入其中,坐标如下 8 4, 10.5 4, 10.5 1.5, 8 1.5

INSERT INTO buildings(id, geom, name)
VALUES
(1, ST_GeomFromText('POLYGON(8 4, 10.5 4, 10.5 1.5, 8 1.5)'), 'BuildingA');
Run Code Online (Sandbox Code Playgroud)

由于某种原因我收到错误

ERROR:  parse error - invalid geometry
HINT:  "POLYGON(8 4" <-- parse error at position 11 within geometry
Run Code Online (Sandbox Code Playgroud)

如何将该多边形插入到表中?

sql postgresql postgis psql

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

std::variant 和 boost::variant 模板类型的相同模板类专门化

我想创建一个类专业化,如果它传递任何 std::variant 或任何 boost::variant,则具有相同的实现。我尝试使用 std::enable_if、std::disjunction 和 std::is_same 但无法编译它。这是一个代码示例来展示我想要实现的目标。

#include <variant>
#include <iostream>
#include <boost/variant.hpp>

template <typename T>
struct TypeChecker;

template <typename T>
struct TypeChecker<T>
{
    void operator()()
    {
        std::cout << "I am other type\n";
    }
}

template <typename ... Ts>  // I want to be able to capture Ts... in TypeChecker scope
struct TypeChecker<std::variant<Ts...> or boost::variant<Ts...>> // what to insert here?
{
    void operator()()
    {
        std::cout << "I am either std::variant or boost::variant\n";
    }
}

int main()
{
    TypeChecker<std::variant<int, float>>{}(); …
Run Code Online (Sandbox Code Playgroud)

c++ templates metaprogramming variant

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

标签 统计

c ×1

c++ ×1

linux ×1

metaprogramming ×1

postgis ×1

postgresql ×1

psql ×1

sql ×1

templates ×1

terminal ×1

unix ×1

variant ×1