【调试方法】C代码中dump中间数据的方法

发布于:2024-04-03 ⋅ 阅读:(133) ⋅ 点赞:(0)

一,简介

本文主要介绍,如何在C语言代码中将音频流数据进行写入文件,方便调试定位问题:

二,函数实现

按int8_t写入

#include <stdio.h>

int32_t write_int8_t_data(int8_t *name, int8_t *buffer, int32_t data_len)
{
	FILE *fp = NULL;
	fp = fopen(name, "ab");
	if(fp == NULL){
		printf("fopen %s failed!\n", name);
		return -1;
	}

	fwrite(buffer, sizeof(int8_t), data_len, fp);
	fclose(fp);
	return 0;
}

按int16_t写入:

int32_t write_int16_t_data(int8_t *name, int16_t *buffer, int32_t data_len)
{
	FILE *fp = NULL;
	fp = fopen(name, "ab");
	if(fp == NULL){
		printf("fopen %s failed!\n", name);
		return -1;
	}

	fwrite(buffer, sizeof(int16_t), data_len, fp);
	fclose(fp);
	return 0;
}

按照int32_t写入:

int32_t write_int32_t_data(int8_t *name, int32_t *buffer, int32_t data_len)
{
	FILE *fp = NULL;
	fp = fopen(name, "ab");
	if(fp == NULL){
		printf("fopen %s failed!\n", name);
		return -1;
	}

	fwrite(buffer, sizeof(int32_t), data_len, fp);
	fclose(fp);
	return 0;
}

按照int64_t写入:

int32_t write_int64_t_data(int8_t *name, int32_t *buffer, int32_t data_len)
{
	FILE *fp = NULL;
	fp = fopen(name, "ab");
	if(fp == NULL){
		printf("fopen %s failed!\n", name);
		return -1;
	}

	fwrite(buffer, sizeof(int64_t), data_len, fp);
	fclose(fp);
	return 0;
}

网站公告

今日签到

点亮在社区的每一天
去签到