小编era*_*ros的帖子

如何将char*(包含所有可能的值)分配给C++字符串

我是C++.我正在尝试将一个char数组附加到C++字符串.唯一的事情是这个数组可以有每个可能的值,负数,正数和0.所以当我将这个数组赋给字符串时,它会在某个时刻停止,因为它找到了一个0值.
1)字符串可以附加这些值吗?或者它们必须严格地从1到127?如果为真,
2)是否有一种方法可以保持字符串分配即使找到0也是如此?

c++ string char

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

在读取文件时,缓冲区大小是否会影响时间成本?

在读取文件时,我有两个关于缓冲区大小的选项.

char* buffer = new char[aBlock];
myFile.read(buffer,aBlock);
Run Code Online (Sandbox Code Playgroud)

和,

char* buffer = new char;
while (!myFIle.eof())
    myFile.read(buffer,1);
Run Code Online (Sandbox Code Playgroud)

是否会有相当大的时间成本差异?请注意,作为缓冲区,我char* buffer在代码中指的是缓冲区,我不是在谈论OS文件缓冲区

c++ file-io buffer

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

C行结束char

我有这个问题.

char buffer[100];
buffer[0] = "\n";
Run Code Online (Sandbox Code Playgroud)

出于某种原因,以下陈述是正确的

buffer[0] == 'T'
Run Code Online (Sandbox Code Playgroud)

什么时候应该是"\n"ascii.为什么?

c newline char

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

C++比较表达式bug

这段代码有问题,但我找不到导致它的原因.

bool Parser::validateName(std::string name) {
    int pos = name.find(INVALID_CHARS);               //pos is -1, 
    bool result = ((name.find(INVALID_CHARS)) < 0);   //result is false
    //That was weird, does that imply that -1 >= 0?, let's see
    result = (pos < 0)                                //result is true
    result = ((name.find(INVALID_CHARS)) == -1)       //result is true
    result = (-1 < 0)                                 //result is true
    ...
}
Run Code Online (Sandbox Code Playgroud)

为什么第二行的结果为false.有什么我没看到的吗?

c++

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

如何更快地制作大型计算程序

我正在实现压缩算法.事实上,20 Kib文件花了一秒钟,所以这是不可接受的.我认为这很慢,因为计算结果.
我需要有关如何加快速度的建议.我已经有了一些提示,比如移位而不是乘法,但我真的想确定哪些更改实际上有帮助,因为程序的复杂性.我也接受有关编译器选项的建议,我听说有一种方法可以让程序做更快的数学计算.

常见的操作是:

  • pow(...)math图书馆的功能
  • 大数%2
  • 大数乘以

编辑:程序没有浮点数

c++ performance mathematical-optimization

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

如何在C中读取文本行

我需要从文本文件中获取行.我已经知道线条不会超过70个字符.
我知道如何做到这一点,但我正在寻找一个标准的解决方案.

c c99

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