⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 read_seek_test.c

📁 radius协议源码÷The Radius Stack will connect to a Radius Server. This stack implementation is built upo
💻 C
📖 第 1 页 / 共 2 页
字号:
	sf_close (file) ;		printf ("ok\n") ;} /* double_test */staticvoid	int_test (char *filename, int length){	int		count, k ;	SNDFILE	*file ;	SF_INFO	sfinfo ;	int		*readdata ;	printf ("    int_test    (%s) ... ", filename) ;		if (! (file = sf_open_read (filename, &sfinfo)))	{	printf ("Could not open file '%s' for read.\n", filename) ;		sf_perror (NULL) ;		exit (1) ;		} ;			if (sfinfo.samples != length)	{	printf ("Expecting %d samples in file, found %d.\n", length, sfinfo.samples) ;		exit (1) ;		} ;			readdata = (int*) malloc (sfinfo.samples * sizeof (int)) ;	if ((count = sf_read_int (file, readdata, sfinfo.samples)) != sfinfo.samples)	{	printf ("sf_read_int failed (%d items read).\n", count) ;		exit (1) ;		} ;		for (k = 0 ; k < sfinfo.samples ; k++)		if (readdata [k] != (int) (k))		{	printf ("Incorrect sample (#%d => %d).\n", k, readdata [k]) ;			exit (1) ;			} ;		/* Check seek from start of file. */	k = sf_seek (file, 1, SEEK_SET) ;	sf_read_int (file, readdata, 1) ;	if (readdata [0] != 1 || k != 1)	{	printf ("sf_seek (SEEK_SET) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check seek forward from current position. */	k = sf_seek (file, 2, SEEK_CUR) ;	sf_read_int (file, readdata, 1) ;	if (readdata [0] != 4 || k != 4)	{	printf ("sf_seek (SEEK_CUR) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check seek backward from current position. */	k = sf_seek (file, -2, SEEK_CUR) ;	sf_read_int (file, readdata, 1) ;	if (readdata [0] != 3 || k != 3)	{	printf ("sf_seek (SEEK_CUR) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check that read past end of file returns number of items. */	if ((k = sf_read_int (file, readdata, sfinfo.samples)) != 12)	{	printf ("Return value from short sf_read_XXXX incorrect (%d).\n", k) ;		exit (1) ;		} ;		/* Check seek backward from end. */	k = sf_seek (file, -14, SEEK_END) ;	sf_read_int (file, readdata, 1) ;	if (readdata [0] != 2 || k != 2)	{	printf ("sf_seek (SEEK_END) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check multiple reads. */	k = sf_seek (file, 0, SEEK_SET) ;	count = 0 ;	while ((k = sf_read_int (file, readdata, 3)))		count += k ;	if (count != sfinfo.samples)	{	printf ("failed multiple read test (%d, %d).\n", count, sfinfo.samples) ;		exit (1) ;		} ;		free (readdata) ;	sf_close (file) ;		printf ("ok\n") ;} /* int_test */staticvoid	short_test (char *filename, int length){	int		count, k ;	SNDFILE	*file ;	SF_INFO	sfinfo ;	short	*readdata ;	printf ("    short_test  (%s) ... ", filename) ;		if (! (file = sf_open_read (filename, &sfinfo)))	{	printf ("Could not open file '%s' for read.\n", filename) ;		sf_perror (NULL) ;		exit (1) ;		} ;			if (sfinfo.samples != length)	{	printf ("Expecting %d samples in file, found %d.\n", length, sfinfo.samples) ;		exit (1) ;		} ;			readdata = (short*) malloc (sfinfo.samples * sizeof (short)) ;	if ((count = sf_read_short (file, readdata, sfinfo.samples)) != sfinfo.samples)	{	printf ("sf_read_short failed (%d items read).\n", count) ;		exit (1) ;		} ;		for (k = 0 ; k < sfinfo.samples ; k++)		if (readdata [k] != (short) (k))		{	printf ("Incorrect sample (#%d => %d).\n", k, readdata [k]) ;			exit (1) ;			} ;				/* Check seek from start of file. */	k = sf_seek (file, 1, SEEK_SET) ;	sf_read_short (file, readdata, 1) ;	if (readdata [0] != 1 || k != 1)	{	printf ("sf_seek (SEEK_SET) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check seek forward from current position. */	k = sf_seek (file, 2, SEEK_CUR) ;	sf_read_short (file, readdata, 1) ;	if (readdata [0] != 4 || k != 4)	{	printf ("sf_seek (SEEK_CUR) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check seek backward from current position. */	k = sf_seek (file, -2, SEEK_CUR) ;	sf_read_short (file, readdata, 1) ;	if (readdata [0] != 3 || k != 3)	{	printf ("sf_seek (SEEK_CUR) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check that read past end of file returns number of items. */	if ((k = sf_read_short (file, readdata, sfinfo.samples)) != 12)	{	printf ("Return value from short sf_read_XXXX incorrect (%d).\n", k) ;		exit (1) ;		} ;		/* Check seek backward from end. */	k = sf_seek (file, -14, SEEK_END) ;	sf_read_short (file, readdata, 1) ;	if (readdata [0] != 2 || k != 2)	{	printf ("sf_seek (SEEK_END) followed by sf_read_XXXX failed (%d, %d).\n", readdata [0], k) ;		exit (1) ;		} ;		/* Check multiple reads. */	k = sf_seek (file, 0, SEEK_SET) ;	count = 0 ;	while ((k = sf_read_short (file, readdata, 3)))		count += k ;	if (count != sfinfo.samples)	{	printf ("failed multiple read test (%d, %d).\n", count, sfinfo.samples) ;		exit (1) ;		} ;		free (readdata) ;	sf_close (file) ;		printf ("ok\n") ;} /* short_test */int		main (int argc, char *argv []){	char	*filename ;	int		bDoAll = 0 ;	int		nTests = 0 ;	if (argc != 2)	{	printf ("Usage : %s <test>\n", argv [0]) ;		printf ("    Where <test> is one of the following:\n") ;		printf ("           wav      - test WAV file functions (little endian)\n") ;		printf ("           aiff     - test AIFF file functions (big endian)\n") ;		printf ("           au       - test AU file functions (big endian)\n") ;		/*		**	printf ("           paf      - test PAF file functions (little endian)\n") ;		**	printf ("           svx      - test SVX file functions (big endian)\n") ;		**	printf ("           nist     - test NIST file functions (little endian)\n") ;		*/		printf ("           all      - perform all tests\n") ;		exit (1) ;		} ;			bDoAll = !strcmp (argv [1], "all") ;	if (bDoAll || ! strcmp (argv [1], "wav"))	{	filename = "wav_pcm8.wav" ;		write_file (filename, wav_pcm8, sizeof (wav_pcm8)) ; 		short_test	(filename, 16) ; 		int_test	(filename, 16) ; 		double_test (filename, 16) ; 		unlink (filename) ;		filename = "wav_pcm16.wav" ;		write_file (filename, wav_pcm16, sizeof (wav_pcm16)) ;		short_test	(filename, 16) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;		filename = "wav_pcm24.wav" ;		write_file (filename, wav_pcm24, sizeof (wav_pcm24)) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;		filename = "wav_pcm32.wav" ;		write_file	(filename, wav_pcm32, sizeof (wav_pcm32)) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;		filename = "wav_ieee.wav" ;		write_file	(filename, wav_ieee, sizeof (wav_ieee)) ;		short_test	(filename, 16) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;		nTests++ ;		} ;		if (bDoAll || ! strcmp (argv [1], "aiff"))	{	filename = "aiff_pcm8.aiff" ; 		write_file (filename, aiff_pcm8, sizeof (aiff_pcm8)) ; 		short_test	(filename, 16) ; 		int_test	(filename, 16) ; 		double_test (filename, 16) ; 		unlink (filename) ;				filename = "aiff_pcm16.aiff" ;		write_file (filename, aiff_pcm16, sizeof (aiff_pcm16)) ;		short_test	(filename, 16) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;				filename = "aiff_pcm24.aiff" ;		write_file (filename, aiff_pcm24, sizeof (aiff_pcm24)) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;			filename = "aiff_pcm32.aiff" ;		write_file (filename, aiff_pcm32, sizeof (aiff_pcm32)) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;		nTests++ ;		} ;		if (bDoAll || ! strcmp (argv [1], "au"))	{	filename = "au_pcm8.au" ; 		write_file (filename, au_pcm8, sizeof (au_pcm8)) ; 		short_test	(filename, 16) ; 		int_test	(filename, 16) ; 		double_test (filename, 16) ; 		unlink (filename) ;				filename = "au_pcm16.au" ;		write_file (filename, au_pcm16, sizeof (au_pcm16)) ;		short_test	(filename, 16) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;				filename = "au_pcm24.au" ;		write_file (filename, au_pcm24, sizeof (au_pcm24)) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;			filename = "au_pcm32.au" ;		write_file (filename, au_pcm32, sizeof (au_pcm32)) ;		int_test	(filename, 16) ;		double_test (filename, 16) ;		unlink (filename) ;		nTests++ ;		} ;		if (nTests == 0)	{	printf ("************************************\n") ;		printf ("*  No '%s' test defined.\n", argv [1]) ;		printf ("************************************\n") ;		return 1 ;		}	return 0;} /* main *//*============================================================================================ *	Here are the test functions. */ 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -