小编Eni*_*gma的帖子

如何确定字符串是否是带C++的数字?

我在编写一个检查字符串是否为数字的函数时遇到了很多麻烦.对于我正在编写的游戏,我只需要检查我正在阅读的文件中的一行是否是一个数字(我会知道这是一个参数).我编写了以下功能,我相信它工作顺利(或者我不小心编辑了以阻止它,或者我是精神分裂症或Windows是精神分裂症):

bool isParam (string line)
{
    if (isdigit(atoi(line.c_str())))
        return true;

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

c++ visual-c++

117
推荐指数
13
解决办法
27万
查看次数

编译问题:找不到crt1.o

我有一个虚拟的Debian系统,我用它来开发.

今天我想试试llvm/clang.

安装clang后,我无法编译我的旧c项目(使用gcc).这是错误:

...
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crti.o: No such file or directory
collect2: ld returned 1 exit status
...
Run Code Online (Sandbox Code Playgroud)

我卸载了clang,它仍然无法正常工作.

有谁知道如何解决这个问题?

gcc clang ld

106
推荐指数
9
解决办法
22万
查看次数

什么是静态库的内部.lib文件,静态链接的动态库和动态链接的动态库?

什么是静态库的.lib文件,静态链接的动态库和动态链接的动态库?

为什么在动态链接的动态库中不需要.lib文件,而且在静态链接中,.lib文件只是一个包含所有方法的.obj文件.那是对的吗?

c++ dll linker static-libraries

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

需要对同步与异步asio操作进行一些澄清

据我所知,同步和异步操作之间的主要区别.即write()read()VS async_write()并且async_read()是前者,不返回,直到操作完成-或无差错,以及最后的,立即返回.

由于异步操作由一个io_service.run()在受控操作完成之前未完成的操作控制.在我看来,顺序操作中涉及与POP3等协议的TCP/IP连接,其中操作是如下序列:

 C: <connect>
 S: Ok.
 C: User...
 S: Ok.
 C: Password
 S: Ok.
 C: Command
 S: answer
 C: Command
 S: answer
 ...
 C: bye
 S: <close>
Run Code Online (Sandbox Code Playgroud)

同步/异步运算符之间的区别没有多大意义.

当然,在这两种操作中,总是存在程序流程在某些情况下无限期停止的风险 - 使用计时器 - 但我想知道一些更多的授权意见.

我必须承认这个问题定义不明确,但我想听听一些关于何时使用其中一个的建议.我在使用MS Visual Studio调试关于我正在使用的POP3客户端中的异步SSL操作时遇到了问题,有时候认为在这个问题上使用异步可能是个坏主意.

c++ asynchronous tcp synchronous boost-asio

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

需要帮助使用libjpeg读取JPEG文件

我按照libjpeg示例文件中的示例代码,但是我无法读取图像数据.

我有以下结构,我创建了这个结构的一个实例.

 struct ImageData {
        unsigned char *pixels;
        long  width;
        long height;
    };

    ImageData *imageData;
Run Code Online (Sandbox Code Playgroud)

下面是我的read_JPEG_file函数:

int read_JPEG_file (char * filename)
{
    struct jpeg_decompress_struct cinfo;
    struct my_error_mgr jerr;

    /* More stuff */
    FILE * infile;      /* source file */
    JSAMPARRAY buffer;      /* Output row buffer */
    int row_stride;     /* physical row width in output buffer */

    if ((infile = fopen(filename, "rb")) == NULL) {
        fprintf(stderr, "can't open %s\n", filename);
        return 0;
    }

    /* Step 1: allocate and initialize JPEG decompression …
Run Code Online (Sandbox Code Playgroud)

c++ libjpeg

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

close()和closesocket()是否可互换?

我在这里看到很多答案,说使用close()来销毁套接字,但是我从msdn使用的指南让我使用closesocket().我想知道是否有差异,是否有理由使用其中一个.

在这两种情况下,我都看到使用shutdown()的建议,所以这一切都很好.

c++ sockets networking winsock2

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

如何使用TinyXml来解析特定元素

我想从TinyXml输出中解析一组元素.本质上,我需要选择端口的任何端口元素"portid"属性的状态"open"(如下面的端口23所示).

最好的方法是什么?这是TinyXml输出的(简化)列表:

<?xml version="1.0" ?>
<nmaprun>
    <host>
        <ports>
            <port protocol="tcp" portid="22">
                <state state="filtered"/>
            </port>
            <port protocol="tcp" portid="23">
                <state state="open "/>
            </port>
            <port protocol="tcp" portid="24">
                <state state="filtered" />
            </port>
            <port protocol="tcp" portid="25">
                <state state="filtered" />
            </port>
            <port protocol="tcp" portid="80">
                <state state="filtered" />
            </port>
        </ports>
    </host>
</nmaprun>
Run Code Online (Sandbox Code Playgroud)

c++ xml tinyxml

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

没有在c ++中设置布尔值

在c ++中有三个值布尔变量的最佳方法是什么?

我想有字段设置为true,false或根本没有设置在我的数组.

如果我这样声明:

t[0] = true;
t[1] = false;
t[2] = NULL;
Run Code Online (Sandbox Code Playgroud)

当我测试条件时,我得到:

t[2]false

c++ boolean

7
推荐指数
3
解决办法
1191
查看次数

配置脚本,使make无法生成共享库

如果需要的话,这是关于编译libjpeg v6b的。

我运行./configure --prefix = / c / tmp / jpeg-6b-build --enable-shared --enable-static就像安装文档说的那样,但是libtool没有它。

checking dynamic linker characteristics... no
checking if libtool supports shared libraries... no
checking whether to build shared libraries... no
checking whether to build static libraries... yes
Run Code Online (Sandbox Code Playgroud)

我想我需要这个共享库来编译一些功能。libjpeg本身可以正常编译,而.exe可以生成工作,但是我需要将源代码用于其他用途。v6b出于某种原因不会生成.DLL,而v9会生成。

./configure命令的完整输出:

ild
checking for gcc... gcc
checking whether the C compiler (gcc  ) works... yes
checking whether the C compiler (gcc  ) is a cross-compiler... no
checking whether we are using GNU C... yes
checking how to run the C …
Run Code Online (Sandbox Code Playgroud)

dll linker shared-libraries static-libraries libjpeg

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

我可以为后续的itoa()调用重用相同的缓冲区吗?

我想知道这是否安全/认可用法:

char pBuf[10];
itoa(iInt, pBuf, 10);
// pBuf value gets copied elsewhere

//memset(pBuf, 0, sizeof(pBuf)); // Is this necessary?
itoa(iInt2, pBuf, 10);
// pBuf value gets copied elsewhere
Run Code Online (Sandbox Code Playgroud)

我可以重用这样的缓冲区吗?

c++ buffer itoa

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