将char数组(包含'1'和'0')作为二进制写入文件的过程可以通过以下步骤完成:
以下是一个示例代码(使用C语言):
#include <stdio.h>
void writeBinaryToFile(char* binaryArray, int length, char* filename) {
FILE* file = fopen(filename, "wb"); // 打开文件,以二进制写入模式打开
if (file != NULL) {
int i;
unsigned char byte = 0;
int bitCount = 0;
for (i = 0; i < length; i++) {
if (binaryArray[i] == '1') {
byte |= (1 << (7 - bitCount)); // 设置对应位为1
}
bitCount++;
if (bitCount == 8) {
fwrite(&byte, sizeof(unsigned char), 1, file); // 写入一个字节
byte = 0;
bitCount = 0;
}
}
if (bitCount > 0) {
fwrite(&byte, sizeof(unsigned char), 1, file); // 写入剩余的字节
}
fclose(file); // 关闭文件
}
}
int main() {
char binaryArray[] = "10101010"; // 示例二进制数组
int length = sizeof(binaryArray) - 1; // 计算数组长度,减去字符串结束符'\0'
char filename[] = "output.bin"; // 输出文件名
writeBinaryToFile(binaryArray, length, filename);
return 0;
}
这段代码将名为binaryArray
的二进制数组以二进制形式写入名为output.bin
的文件中。你可以根据需要修改binaryArray
和filename
的值。请注意,这只是一个示例,实际应用中可能需要根据具体情况进行适当的修改和错误处理。
领取专属 10元无门槛券
手把手带您无忧上云