我正在研究视觉 C++。我是 C++ 的初学者,我处于一个奇怪的情况,我有类型的“内容”变量 -
char FileContents[200000] ;
现在我已经像这样使用 sizeof 运算符获取文件的大小
int SizeOfFile =Sizeof(File);
现在我必须将此文件的数据复制到数组索引为 200000 的“内容”中。假设我这样做是
memcpy(FileContents,&File[0],SizeOfFile);
我将“FileContents”的内容输出到任何位置的文件中(根据我的意愿)。我发现文件内容显示正确,但文件内容完成后我有奇怪的数据,如“ÌÌÌÌÌÌÌÌÌÌ”。请看下面-
</body>
</html> //Here finshes the file and after that i have this kind of data as you see below
ÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌÌ..and so on until file ends.
我知道它是由于 char FileContents[200000] 的内存分配;因为“SizeOfFile”的值非常小,在它的大小之后我有奇怪的“ÌÌÌÌÌ”,我不想看到它们。我想要的是只包含“FileContents”内容的文件。而且我无法动态分配FileContents 的内存。因为它必须等于我们使用 Sizeof(File) 动态获得的“SizeOfFile”。
在这种情况下该怎么做才能摆脱这些“ÌÌÌÌÌÌÌÌÌ”价值观?有什么解决办法吗?