小编gen*_*ult的帖子

C语言中“9”是什么意思?

当写“9”而不是 9 作为我的字符时,由于某种原因,我的最终结果变得消极且错误。这是为什么?“9”有什么作用?

#include <stdio.h>

int main() {
    int a, b;
    char c = '9';
    a = 44;
    b = a - c;

    printf("%d \n", b);

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c character-literals

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

带有 EXTENDED_STARTUPINFO_PRESENT 标志的 CreateProcessW() 返回错误代码 87?

我正在努力让 msvc 下的 CreateProcessW 使用 EXTENDED_STARTUPINFO_PRESENT 选项。我创建了一个最小的示例,它调用 ping.exe 并将标准输出重定向到句柄。如果没有 EXTENDED_STARTUPINFO_PRESENT 选项,这也可以正常工作(但不是线程安全的),因此尝试将句柄显式传递给子进程,如下面的最小示例所示。

#include <windows.h> 
#include <processthreadsapi.h>
#include <WinBase.h>
#include <iostream>
using namespace std;


void TestFunctionW()
{
    STARTUPINFOEXW startup_info = { 0 };
    PROCESS_INFORMATION process_info = { 0 };

    SECURITY_ATTRIBUTES saAttr;

    // Set the bInheritHandle flag so pipe handles are inherited. 
    saAttr.nLength = sizeof(SECURITY_ATTRIBUTES);
    saAttr.bInheritHandle = TRUE;
    saAttr.lpSecurityDescriptor = NULL;

    HANDLE          m_hChildStd_OUT_Rd;
    HANDLE          m_hChildStd_OUT_Wr;

    // Create a pipe for the child process's STDOUT. (m_hChildStd_OUT_Wr->m_hChildStd_OUT_Rd)
    if (!CreatePipe(&m_hChildStd_OUT_Rd, &m_hChildStd_OUT_Wr, &saAttr, 0)) {
        std::cerr << …
Run Code Online (Sandbox Code Playgroud)

c++ winapi visual-c++

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

超出范围的问题?

我使用的框架已经在 CentOS 7 上运行了多年。我们正在将其迁移到 RHEL 8,但一些单元测试失败了。其中一个特别涉及从 std::runtime_error 上的 What() 返回垃圾。我创建了一个非常简单的例子来重复这个问题。它适用于 CentOS7,但不适用于 RHEL 8。代码如下:

#include <sstream>
#include <iostream>

const char * getString() {

    std::ostringstream oss;
    oss << "some stuff to return" << std::endl;

    std::cout << "value to return: " << oss.str().c_str() << std::endl;

    return oss.str().c_str();
}

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

    std::string value = getString();
    std::cout << "value returned: " << value << std::endl;

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

CentOS7 的输出是:

[user@localhost ~]$ ./a.out
value to return: some stuff to return …
Run Code Online (Sandbox Code Playgroud)

c++ stringstream lifetime

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

一次两个迭代器?

我经常代表和处理折线,如下所示:

typedef std::vector< Point_t > Polyline_t;

double PolylineLength(const Polyline_t& line)
{
    double len = 0.0;
    for( size_t i = 0; i < line.size()-1; ++i )
        len += (line[i+1]-line[i+0]).length();
    return len;
}
Run Code Online (Sandbox Code Playgroud)

我提出的最直接的双向迭代器转换是:

typedef std::list< Point_t > Polyline_t;
typedef Polyline_t::const_iterator Polyline_t_cit;

double PolylineLength(const Polyline_t& line)
{
    double len = 0.0;
    Polyline_t_cit last = line.end();
    last--;
    for( Polyline_t_cit i = line.begin(); i != last; ++i )
    {
        const Point_t& beg = *i;
        const Point_T& end = *(++i);
        len += (end - beg).length(); …
Run Code Online (Sandbox Code Playgroud)

c++ containers iterator

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

在android中纹理3d立方体

根据c ++中的例子,我曾经尝试使用opengl es在android中构建3d立方体,但是经过几次,结果很失望!所以我想知道,谁曾经做过它?你能给我一些建议吗?提前致谢!

3d android opengl-es

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

用JOGL声音?

我有一个JOGL应用程序,我想以编程方式播放音频文件.这可能吗?

java audio graphics jogl

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

C++ OpenGL - 获取对象的世界坐标(碰撞检测所需)

我是OpenGL的新手,但这是我的问题:

我正在写一个世界创造者(对于Lego Duplo Blocks),我在3dsmax中制作了我的块,然后将它们导出到.obj文件.然后我创建了一个解析器来解析文件.我基本上把所有东西放在glNewList中.然后对于每个legoblock我有一些参数(包含它们应该在te x和z轴上转换的值(y轴尚未))我用它来改变它们在列表被调用后的位置(块通过使用方向键).

现在,在创建新块时,我想创建某种形式的碰撞检测,这样当新块出现在已经由另一个块占据的位置时,该块会自动进入另一个块的顶部(因此将其转换为y -轴).

有没有办法让你的某个物体的世界坐标?或者还有另一种更好的方法来做我想做的事情吗?

请帮帮我吧!

提前致谢 !

c++ java opengl collision-detection

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

OpenGl - 计算立方体中的法线

我需要从立方体计算6个面的法线.使用键移动立方体,因此,当立方体的位置需要知道正常面部时.

有什么方法可以帮助这个计算?

opengl

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

初学者的C++生命游戏计划的麻烦

背景:我是编程的初学者.这是我迄今为止在生命游戏的草稿中所拥有的:

#include <iostream>

using namespace std;

int main()
{

    //INTRODUCTION

    int arraySize;
    cout << "What is the length of your square-shaped grid? Enter an integer value greater than 0. Too big will cause problems.";
    cin >> arraySize;
    int original[arraySize][arraySize];

    //REQUESTS INPUT FOR ARRAY

    for (int n = 0; n < arraySize; n++)
    {
        for (int x = 0; x < arraySize; x++)
        {
            bool ValInput;
            cout << "\n" << n << "," << x << "...";
            cin >> ValInput;
            original[n][x] …
Run Code Online (Sandbox Code Playgroud)

c++

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

C++:跟踪已用时间

我正在寻找一种方法,能够知道自我的程序启动以来在任何给定时间已经有多少时间.一种计时器,在主代码执行其他操作时将继续运行,并且可以随时调用.

上下文是Windows上的OpenGL应用程序,并且知道正在按下哪些键盘键(使用glutKeyboardFunc),我想知道何时按下每个键.所有这些信息都写入一个XML文件,稍后将用于重放用户所做的一切.(有点像赛车游戏中的重播功能,但更简单).

c++ windows opengl glut

0
推荐指数
2
解决办法
2503
查看次数