c语言读取二进制中的字符串
时间: 2023-06-22 12:23:36 浏览: 263
在C语言中,读取二进制中的字符串可以使用fread函数。具体步骤如下:
1. 打开二进制文件,使用fopen函数,并设置打开模式为"rb"。
2. 确定需要读取的字符串长度,使用malloc函数分配内存空间。
3. 使用fread函数将二进制文件中的字符串读入分配的内存空间中。
4. 关闭文件,使用fclose函数。
以下是一个示例代码:
```
#include <stdio.h>
#include <stdlib.h>
int main() {
FILE *fp;
char *str;
long file_size;
// 打开二进制文件
fp = fopen("binary_file", "rb");
if (fp == NULL) {
printf("Error opening file.");
exit(1);
}
// 计算文件长度
fseek(fp, 0, SEEK_END);
file_size = ftell(fp);
rewind(fp);
// 分配内存空间
str = (char *)malloc(file_size + 1);
if (str == NULL) {
printf("Memory allocation failed.");
exit(1);
}
// 读取字符串
fread(str, sizeof(char), file_size, fp);
str[file_size] = '\0';
// 关闭文件
fclose(fp);
printf("Read string from file: %s\n", str);
free(str);
return 0;
}
```
注意:读取二进制文件中的字符串时,需要保证文件中的字符串是以'\0'结尾的。否则,读取的字符串可能会出现问题。
阅读全文