C语言相关笔记

1.一个运用C读文件,每行是一个double型数据。

int main(void)
{
	// Read in sample data from sample.dat
	// sample.dat contains an 8192-point spectrum from a sine wave at 440Hz (A) in double precision
	// Spectrum was computed using FFTW (http://www.fftw.org/)
	// Data was not windowed (rectangular)

	// Holds the spectrum data to be analyzed
	double spectrum[8192];

	// Pointer to the sample data file
	FILE *sampleFile;

	// Index counter - used to keep track of which data point is being read in
	int i = 0;

	// Determine which MFCC coefficient to compute
	unsigned int coeff;

	// Holds the value of the computed coefficient
	double mfcc_result;

	// Initialize the spectrum
	memset(&spectrum, 0, sizeof(spectrum)); 
	
	// Open the sample spectrum data	
	sampleFile = fopen("sample.dat","rb");
	
	// Read in the contents of the sample file
	while(fscanf(sampleFile, "%lf", &spectrum[i]) != EOF) // %lf tells fscanf to read a double
	{
		i++;
	}

	// Close the sample file
	fclose(sampleFile);

	// Compute the first 13 coefficients
	for(coeff = 0; coeff < 13; coeff++)
	{
		mfcc_result = GetCoefficient(spectrum, 44100, 48, 128, coeff);
		printf("%i %f\n", coeff, mfcc_result);
	}
	getchar();
	
	return 0;
}


你可能感兴趣的:(C语言相关笔记)