小编kay*_*kun的帖子

检查字符串对象是否只有空字符

我想检查一个20个字符的字符串对象是否只有空字符(值为零).我的尝试:

string subString;
subString = fileBuffer.substr(origin, origin+20);

if(strCompare.compare("\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0") == 0)
    cout<<"string is empty"<<endl;
else
    cout<<"string is not empty"<<endl;
Run Code Online (Sandbox Code Playgroud)

我确定subString被赋予20个null的字符,但是,程序只输出"string is not empty".我也试过其他方法,例如将compare参数设为""或NULL无效.有人可以向我指出任何明显的错误或正确的方法吗?我真的很感激.

c++

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

撕裂OpenGL?

我正在使用win32和opengl,我在窗口坐标的glOrtho处设置了一个窗口.我启用了双缓冲,并使用glGet进行了测试.我的程序似乎总是撕掉我试图在其上绘制的任何原语,如果它不断翻译的话.

这是我的OpenGL初始化函数:

glClearColor(0.0f, 0.0f, 0.0f, 1.0f);

glViewport(0, 0, 640, 480);
glMatrixMode(GL_PROJECTION);
    glLoadIdentity();
    glOrtho(0, 640, 0, 480, 0, 100);

glMatrixMode(GL_MODELVIEW);
    glLoadIdentity();
    glDrawBuffer(GL_BACK);

glLoadIdentity();
Run Code Online (Sandbox Code Playgroud)

这是我的渲染函数,gMouseX和gMouseY是鼠标的坐标:

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glTranslatef(gMouseX, gMouseY, 0.0f);
glColor3f(0.5f, 0.5f, 0.5f);
glBegin(GL_TRIANGLES);
    glVertex2f(0.0f, 128.0f);
    glVertex2f(128.0f, 0.0f);
    glVertex2f(0.0f, 0.0f);
glEnd();

SwapBuffers(hDC);
Run Code Online (Sandbox Code Playgroud)

无论渲染功能运行的频率如何,都会出现相同的撕裂问题.我有什么问题或错过了吗?

c++ opengl winapi

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

PHP检索外部程序数据

我想要做的是让PHP脚本运行一个程序,让它以某种方式从中检索数据.例如,程序将解析文件中的数据并返回要显示的PHP脚本的数据.

到目前为止,我知道要调用exec("Program.exe");但是我必须让它创建一个包含数据的文件,然后让PHP脚本调用fopen并以这种方式获取它吗?有没有更好的方法呢?谢谢

php

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

以编程方式递归制作目录

我希望我的程序创建一个位于命令参数路径的文件,即program /home/user/directory/that/doesnt/exist/file.如果该目录不存在,fopen将无法打开该文件,因此程序必须创建目录.我是否必须编写自己的循环来检测每个斜杠和mkdir每个目录,或者是否有自动执行此操作的函数?

c directory mkdir

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

文字操作数的类型

我不认为大多数编译器都会关心,例如,你不将f附加到float类型的变量.但仅仅因为我想尽可能明确和准确,我想表达正确的类型.

两个不同类型的文字操作数的结果类型是什么,还是取决于具体情况?例如:

int i=1.0f/1;
float f=1.0f/1;
Run Code Online (Sandbox Code Playgroud)

编译器不会在这两个实例中抱怨,是因为它对文字类型的容忍视图,还是因为操作结果的类型总是根据上下文转换?

c

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

多态性:访问继承的类变量

我有一个继承自抽象基类的类.

class CStateBase
{
  friend class CApplication;
  friend class CGraphics;
  virtual int Update() =0;
};

class CStateTitle: private CStateBase
{
  friend class CApplication;
  friend class CGraphics;
  CApplication *f_App;

  int m_iR;

  int Update();

  CStateTitle(CApplication *App);
  ~CStateTitle();
};
Run Code Online (Sandbox Code Playgroud)

在另一个类的方法中,CStateTitle被动态分配到CStateBase指针中.但是,如果我使用该指针尝试访问变量int m_iR,编译器会在CStateBase中查找变量,从而产生错误.如果我可以在基类中声明virtual int m_iR,我认为它可以正常工作,但由于某种原因,它不会让我声明虚拟数据成员.推荐解决此问题的方法是什么?谢谢你的帮助.

c++

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

标签 统计

c++ ×3

c ×2

directory ×1

mkdir ×1

opengl ×1

php ×1

winapi ×1