你知道如何用Java获取文件夹大小吗?
File类中的length()方法仅适用于文件,使用该方法我总是得到0的大小.
在Java中使用以下代码:
double operation = 890 / 1440;
System.out.println(operation);
Run Code Online (Sandbox Code Playgroud)
结果:0.0
我想要的是保存此操作的前4位十进制数字(0.6180).你知道我怎么办吗?
我想知道是否有办法在C++中使用char表示浮点数?
例如:
int main()
{
float test = 4.7567;
char result = charRepresentation(test);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我读到可能使用bitset我可以做到,但我不太确定.
假设我的float变量是二进制的01001010 01001010 01001010 01001010.
如果我想要一个包含4个元素的char数组,第一个元素将是01001010,第二个元素将是01001010,依此类推.
我可以在4个元素的char数组中表示float变量吗?
根据您的意见,让我修改原来的问题......
我想创建一个大小为4kb的结构(这个大小是必需的,所以我必须满足它).问题是我无法修改结构中包含的字符串变量的值,因为编译器会抛出分段错误.目前,如果我使用指向字符串而不是字符串变量的指针,我现在知道如何做(感谢你们),但是,我读到了我用来分配4kb内存的方式(malloc)不是最好或最合适的.如果我使用"new"关键字,它会为struct动态分配足够的内存,它可能使用的值不同于4kb,对吧?这就是我不想要的.
我仍然怀疑为什么我不能修改我的struct中包含的字符串变量(不是指针)的值(类似于paginas - > dato ="test").它可能应该是使用malloc的结果
无论如何,我真的很感激你关于如何分配4kb内存的建议.
c ++中的原始代码如下:
#define TAM 4000
#define NUMPAGS 512
struct pagina
{
bitset<12> direccion;
char operacion;
char permiso;
string *dato; //I prefer to have a string variable
int numero;
};
void crearPagina(pagina* pag[], int pos, int dir)
{
pagina * paginas = (pagina*)malloc(sizeof(char) * TAM);
paginas -> direccion = bitset<12> (dir);
paginas -> operacion = 'n';
paginas -> permiso = 'n';
string **tempDato = &paginas -> dato;
char *temp = " ";
**tempDato …Run Code Online (Sandbox Code Playgroud)