我有一个阵列byte[] arr
;
ByteArrayOutputStream out = new ByteArrayOutputStream();
byte[] arr = out.toByteArray();
Run Code Online (Sandbox Code Playgroud)
如何测量arr中的数据大小(如果它被写入磁盘或通过网络传输)?以下方法是正确的 - 他们认为sizeof(byte) = 1B
int byteCount = out.size();
int byteMsgCount = arr.length;
Run Code Online (Sandbox Code Playgroud) 我编写一个定义和使用的类const string
(此字符串定义路径或路径的一部分)我应该在哪里定义它:在 cpp 或 h 中?它应该是课程的一部分吗?目前,此数据仅在内部成员函数内部使用。哪个选项更好?
myClass.h
// const std::string PATH = "Common\\Data\\input.txt" (1)
class MyClass
{
public:
// const std::string m_path = "Common\\Data\\input.txt" (2)
private:
// const std::string m_path = "Common\\Data\\input.txt" (3)
}
myClass.cpp
// const std::string PATH = "Common\\Data\\input.txt"(4)
Run Code Online (Sandbox Code Playgroud) 我想知道clang使用哪些类来表示C++(而不是C)源信息
我需要内部表示,这在DWARF(http://en.wikipedia.org/wiki/DWARF)中很有用.例如,对于类型,相关信息可以是:此类型的字节大小,字节对齐这种类型等
我已经下载了LLVM + Clang.我查看了http://clang.llvm.org/docs/InternalsManual.html,但没有找到我的答案,所以有人指示我也许我错过了一些东西并告诉我在哪些课程中我必须开始寻找这些数据?
我使用 setbuf 来将 stdout 重定向到 char 缓冲区,但是当我只想将新数据写入 stdout 时,它会产生一些副作用
正如下面的代码所解释的:
#define bufSize 100
int main()
{
char buf[bufSize];
setbuf(stdout, buf);
printf("123"); //123 is written to the buffer
setbuf(stdout,NULL); //123 is written to the stdout(unwanted side effect)
printf("456"); //123456 appears in the stdout
}
Run Code Online (Sandbox Code Playgroud)
我该如何解决这个问题?
关于此的其他问题 - 这段代码适用于 unix/linux/mac os 吗?
谁能提出重定向的解决方案?
在下面的C程序中,演示了十六进制浮点常量的用法
double d;
d = 2;
printf("Ex 1: 2 in hex: %a\n\n",d);
d = 256;
printf("Ex 2: 2^8 in hex: %a\n\n",d);
d = 0.015625; //= 2^-6
printf("Ex 3: 2^-6 in hex: %a\n\n",d);
d = 0.857421875;
printf("Ex 4: 0.857421875 in hex: %a\n\n",d);
Run Code Online (Sandbox Code Playgroud)
结果是:
Ex 1: 2 in hex: 0x1p+1
Ex 2: 2^8 in hex: 0x1p+8
Ex 3: 2^-6 in hex: 0x1p-6
Ex 4: 0.857421875 in hex: 0x1.b7p-1
Run Code Online (Sandbox Code Playgroud)
我不明白如何得到前4的结果?
我有以下代码声明:
struct coord {
int x;
int y;
}
void rotateFig(struct coord[10][10]);
Run Code Online (Sandbox Code Playgroud)
我需要实施rotateFig
.我试着从以下开始:
void rotateFig(struct coord[10][10] c)
{
//code
}
Run Code Online (Sandbox Code Playgroud)
我不能编译它 - 可能我在函数定义中传递c的方式是不正确的.如何使用给定签名传输c.谢谢
我的程序的一部分是计算sqrt
浮点数.当我写sqrt(1.0f);
成功编译程序时,但是当我编写sqrt(-1.0f);
编译失败时undefined reference to 'sqrt'
- 我想在这种情况下nan
会返回值...我编译程序uing gcc.当我使用visual studio编译它时,它会成功地编译为sqrt的负参数.如何解决问题谢谢
计算期间我的程序可以生成nan
或-nan
值.我检查值是否是nan
/ -nan
using isnan
方法.
我还必须区分纳米值是正还是负(nan
或-nan
).我怎样才能做到这一点?
补充:我需要WIN和Unix/Linux的跨平台解决方案
我有一个函数getData(void* data)
应该复制到数据一些内部计算值,例如int r = getRadius();
r应该被复制到数据,并且是从函数getData返回的这种方式,这是正确的方法吗?我尝试过,*(int*)data = r;
但我不确定这是一个最好的解决方案.
我有一个函数,它得到'unsigned int*&argument我希望在我的代码中传输的参数位于std::vector<unsigned int> data
So中,我所做的是:我传输以下参数&data [0]但是得到编译错误:
unsigned int *' to 'unsigned int *&
Run Code Online (Sandbox Code Playgroud)
什么可以解决?谢谢,