我有这个奇怪的问题:
我写了16个字符到一个二进制文件然后我写了3个整数但是当我用一些二进制文件查看器打开我的文件时,我看到一个额外的字节被添加(等于0x0D).
这是我的代码:
for(i = 0; i < 16; i++)
{
if(i < strlen(inputStr))
{
myCharBuf[0] = inputStr[i];
}
else
{
myCharBuf[0] = 0;
}
fwrite(myCharBuf, sizeof(char), 1, myFile);
}
myIntBuf[0] = inputNumber1;
fwrite(myIntBuf, sizeof(int), 1 ,myFile);
myIntBuf[0] = inputNumber2;
fwrite(myIntBuf, sizeof(int), 1 ,myFile);
myIntBuf[0] = inputNumber3;
fwrite(myIntBuf, sizeof(int), 1 ,myFile);
Run Code Online (Sandbox Code Playgroud)
我得到以下字节值:
61 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
0D 0 00 00 00 00 00 00 00 08 …
我有一个小文件,我检查它并计算其中的字节数:
while(fgetc(myFilePtr) != EOF)
{
numbdrOfBytes++;
}
Run Code Online (Sandbox Code Playgroud)
现在我分配相同大小的虚拟内存:
BYTE* myBuf = (BYTE*)VirtualAlloc(NULL, numbdrOfBytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
Run Code Online (Sandbox Code Playgroud)
我现在想将文件的内容复制到 nyBuf 中。我该怎么做?
谢谢!
我的主要有以下签名:
int _tmain(int argc, _TCHAR* argv[])
Run Code Online (Sandbox Code Playgroud)
我想预先形成以下内容:
FILE *inputFilePtr;
inputFilePtr = fopen(argv[2], "_r");
Run Code Online (Sandbox Code Playgroud)
但是存在类型不匹配.我该怎么办?我应该使用:
inputFilePtr = _tfopen(argv[2], ??????);
Run Code Online (Sandbox Code Playgroud)
谢谢!
我有一个带有4892行和4列的双打矩阵.
假设我在第3和第4列中有N行具有相同的值(但不一定在第1和第2列中),我想只留下一行中的一行.
一个例子:
1738 1738 8611 8611
1739 1738 8611 8611
1739 1739 8611 8611
我想在这一堆中只留下一行(无论哪一行).
我该怎么做呢?
谢谢!