Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c++;代码(malloc方法)到c#代码 我有这个C++代码,并将它转换成C(4)框架代码。 有人给我一些关于malloc、free和sprintf方法的提示吗 int monate = ee; double *forward; double *backward; size_t bytes = 6*sizeof(double); forward = (double *)malloc(monate * bytes); backward = (double *)malloc(monate * bytes); for (int i = 0; i <= monate; i++) { forward[i] = 0.; backward[i] = rate; } forward[0] = auszahlungsbetrag; backward[0] = 0.; backward[monate] = rate + rest; double ez = esolver(12 , monate, forward, backward); printf("Effektivzins: %.2f\n", ez); char tmp0[256]; sprintf (tmp0, "Rate: %.2f (%f)" , rate, rate); writeToLogFile(tmp0); char tmp[256]; sprintf (tmp, "Effektivzins: %.2f (%f)" , ez, ez); writeToLogFile(tmp); free(forward); free(backward); int monate=ee; 双向*向前; 双*向后; 大小字节=6*sizeof(双字节); 向前=(双*)malloc(单字节*); 向后=(双*)malloc(单字节*); 对于(int i=0;i_C#_C++_Malloc_Converter_Printf - Fatal编程技术网

c++;代码(malloc方法)到c#代码 我有这个C++代码,并将它转换成C(4)框架代码。 有人给我一些关于malloc、free和sprintf方法的提示吗 int monate = ee; double *forward; double *backward; size_t bytes = 6*sizeof(double); forward = (double *)malloc(monate * bytes); backward = (double *)malloc(monate * bytes); for (int i = 0; i <= monate; i++) { forward[i] = 0.; backward[i] = rate; } forward[0] = auszahlungsbetrag; backward[0] = 0.; backward[monate] = rate + rest; double ez = esolver(12 , monate, forward, backward); printf("Effektivzins: %.2f\n", ez); char tmp0[256]; sprintf (tmp0, "Rate: %.2f (%f)" , rate, rate); writeToLogFile(tmp0); char tmp[256]; sprintf (tmp, "Effektivzins: %.2f (%f)" , ez, ez); writeToLogFile(tmp); free(forward); free(backward); int monate=ee; 双向*向前; 双*向后; 大小字节=6*sizeof(双字节); 向前=(双*)malloc(单字节*); 向后=(双*)malloc(单字节*); 对于(int i=0;i

c++;代码(malloc方法)到c#代码 我有这个C++代码,并将它转换成C(4)框架代码。 有人给我一些关于malloc、free和sprintf方法的提示吗 int monate = ee; double *forward; double *backward; size_t bytes = 6*sizeof(double); forward = (double *)malloc(monate * bytes); backward = (double *)malloc(monate * bytes); for (int i = 0; i <= monate; i++) { forward[i] = 0.; backward[i] = rate; } forward[0] = auszahlungsbetrag; backward[0] = 0.; backward[monate] = rate + rest; double ez = esolver(12 , monate, forward, backward); printf("Effektivzins: %.2f\n", ez); char tmp0[256]; sprintf (tmp0, "Rate: %.2f (%f)" , rate, rate); writeToLogFile(tmp0); char tmp[256]; sprintf (tmp, "Effektivzins: %.2f (%f)" , ez, ez); writeToLogFile(tmp); free(forward); free(backward); int monate=ee; 双向*向前; 双*向后; 大小字节=6*sizeof(双字节); 向前=(双*)malloc(单字节*); 向后=(双*)malloc(单字节*); 对于(int i=0;i,c#,c++,malloc,converter,printf,C#,C++,Malloc,Converter,Printf,你不需要free().C#是垃圾收集的 你不需要free().C#是垃圾收集的。在C#中,你不需要关心内存-垃圾收集器处理得很好。你的代码必须是这样的: int monate = ee; double[] forward = new double[monate * 6]; double[] backward = new double[monate * 6]; for (int i = 0; i <= monate; i++) { forward[i] = 0.; ba

你不需要
free()
.C#是垃圾收集的

你不需要
free()
.C#是垃圾收集的。

在C#中,你不需要关心内存-垃圾收集器处理得很好。你的代码必须是这样的:

int monate = ee;
double[] forward = new double[monate * 6];
double[] backward = new double[monate * 6];

for (int i = 0; i <= monate; i++) {
    forward[i]   = 0.;
    backward[i]  = rate;
}

forward[0]        = auszahlungsbetrag;
backward[0]       = 0;
backward[monate]  = rate + rest;

double ez =  esolver(12 , monate, forward, backward);
Console.WriteLine("Effektivzins: {0}\n", ez);
int monate=ee;
double[]forward=新的double[monate*6];
double[]向后=新的double[monate*6];
对于(inti=0;i在C#中,您不需要关心内存-垃圾收集器处理得很好。您的代码必须是这样的:

int monate = ee;
double[] forward = new double[monate * 6];
double[] backward = new double[monate * 6];

for (int i = 0; i <= monate; i++) {
    forward[i]   = 0.;
    backward[i]  = rate;
}

forward[0]        = auszahlungsbetrag;
backward[0]       = 0;
backward[monate]  = rate + rest;

double ez =  esolver(12 , monate, forward, backward);
Console.WriteLine("Effektivzins: {0}\n", ez);
int monate=ee;
double[]forward=新的double[monate*6];
double[]向后=新的double[monate*6];

对于(int i=0;i而言,malloc和free的等价物为:

IntPtr memory = Marshal.AllocHGlobal(100); //malloc
Marshal.FreeHGlobal(memory); //free

malloc和free的等价物为:

IntPtr memory = Marshal.AllocHGlobal(100); //malloc
Marshal.FreeHGlobal(memory); //free

你可以忘记
Malloc
Free
,因为C#有一个垃圾收集器


另外,由于您的应用程序似乎要处理金额,我强烈建议您使用
decimal
类型,而不是
double

您可以忘记
Malloc
Free
,因为C有一个垃圾收集器。至于
sprint


也,因为看起来你的应用程序似乎要处理金钱的数量,我强烈建议使用<代码>十进制< /代码>类型,而不是<代码>双。()< C++ >这不是C代码。@ Angew,这里的代码并不是像C++那样有效。为什么,我总是认为“C++”。引用了整个语言,不仅仅是经典C.USER 3109672 OK,不是真正的部分。但是,仍然把惯用的C++代码转换成C语言将遵循一个完全不同的过程,将这个C转换成一个新的文件扩展名。C代码。这不是C++代码,这是C代码。@ Angew,这里的代码不是有效的C++。为什么,我总是认为“C++”指的是整个语言,而不仅仅是经典C.USS3109672 OK,不是真的。但是,仍然把习惯性C++代码转换成C语言,将遵循一个非常不同的过程。“具有新颖文件扩展名的C"C#的代码。虽然是真的,但我认为这在这种情况下没有多大帮助,因为你不需要在C#中进行任何手动内存管理。虽然是真的,但我认为这在这种情况下没有多大帮助,因为你不需要在C#中进行任何手动内存管理。你在对这个可怜的家伙说教,而没有回答他的要求ion.如果他真的想做malloc/free的等价物,然后管理内存的生命周期呢?你在教训这个可怜的家伙,却没有回答他的问题。如果他真的想做malloc/free的等价物,然后管理内存的生命周期呢?