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

📄 tableshow.c

📁 linux下
💻 C
字号:
#include<stdlib.h>#include<stdio.h>#include<sys/types.h>#include<fcntl.h>#include<sys/stat.h>#include<unistd.h>#include<string.h>#include"table.h"int table_show(const char* szTableName){	return do_table_show(table_open(szTableName));}int do_table_show(T_TableDes* pTableDes){	int i,j,k;	int nRetCount=0;	unsigned long nRecordsCount=pTableDes->pTableHeader->nValidRecordCount;	unsigned int nOffset=pTableDes->pTableHeader->nDataOffset;	unsigned int nRecSize=pTableDes->pTableHeader->nRecSize;	void* pRecords;	for(i=0;i<pTableDes->pTableHeader->nColumnCount;i++)       //制表,表头信息	printf("%s\t",pTableDes->pColInfos[i].szColumnName);	printf("\n");	lseek(pTableDes->fd,nOffset,SEEK_SET);  //从文件读入全部记录	pRecords=malloc(nRecSize*nRecordsCount);	read(pTableDes->fd,(char*)pRecords,nRecSize*nRecordsCount);	for(k=0;k<nRecordsCount;k++)                   //显示所有记录	{		for(j=0;j<pTableDes->pTableHeader->nColumnCount;j++)		//按表格式显示一条记录		{		//memcpy(pFields[j].pFieldData,pRecord+pTableDes->pRecFields[j].nFieldStart,pTableDes->pRecFields[j].nFieldSize);		switch(pTableDes->pColInfos[j].ColumnType)		{		case conchars:			printf("%s\t",(char*)(pRecords+pTableDes->pRecFields[j].nFieldStart));			break;		case shortint:			printf("%d\t",*(short*)(pRecords+pTableDes->pRecFields[j].nFieldStart));			//printf("%d\t",*(int*)pFields[j].pFieldData);			break;		case longint:			printf("%u\t",*(long int*)(pRecords+pTableDes->pRecFields[j].nFieldStart));			//printf("%d\t",*(long int*)pFields[j].pFieldData);			break;		case floatval:			printf("%f\t",*(float*)(pRecords+pTableDes->pRecFields[j].nFieldStart));			//printf("%f\t",*(float*)pFields[j].pFieldData);		}		}		printf("\n");		nRetCount++;		pRecords+=nRecSize;	}	printf("all should be %u\n",nRecordsCount);	printf("%d records shown\n",nRetCount);	return nRetCount;}

⌨️ 快捷键说明

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