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

📄 read_config_file.c

📁 LINUX下POS收银系统,可以对货物及工作人员进行管理.近本实现增删改查的功能
💻 C
字号:
#include <stdio.h>
#include <string.h>
#include <malloc.h>
#include <unistd.h>
#include "control_db.h"
long read_conf(FILE *f);
void change_sign(FILE *f,long position);
void start_database();
void load_database();
char read_word[7][100]={0};

int read_config_file()
{
	FILE *f=fopen("pos.cfg","r+");
	char sys[7][100]={"dbname","dbuser","dbpass","isfirst","dmpfile","dmpuser","dmppass"};
	long position=0;
	int i=0;
	int result=0;
	char temp[100]={0};
	char *strp=NULL;
	if(f == NULL)
	{
		printf("open file fail!\n");
	}
	else
	{
		printf("open file scuess!\n");
	}
	
	position=read_conf(f);
	for (i=0;i<3 ;i++ )
	{
		strp=strstr(read_word[i],"=");
		strcpy(read_word[i],strp+1);
	}
	connect_db(read_word[1],read_word[2]);
	if(position != 0)
	{
		for (i=4;i<7 ;i++ )
		{
			strp=strstr(read_word[i],"=");
			strcpy(read_word[i],strp+1);
		}
		change_sign(f,position);
		del_table_sq_constraint();
		result=1;
		/*
		sprintf(temp,"imp %s/%s file=%s",read_word[1],read_word[2],read_word[4]);*/
/*		system("imp pos/pos file=pos.dmp");*/
	}
	if(fclose(f) == EOF)
	{
		printf("close file fail!\n");
	}
	else
	{
		printf("close file scuess!\n");
	}
	return result;
}




long read_conf(FILE *f)
{
	char buffer[100]={0};
	char *place=NULL,temp[30]={0};
	long position=0;
	int i=0,j=0,len=0;
	
	do
	{
		if(fgets(buffer,100,f) == NULL)
		{
			break;
		}
		else
		{
			if(buffer[0] == '#')
			{
				continue;
			}
			else
			{
				place=strstr(buffer,"\n");
				len=place-buffer+1;
				for(i=0;i<len-2;i++)
				{
					temp[i]=buffer[i];
				}
				strcpy(read_word[j++],temp);
				if(strcmp(temp,"isfirst=yes") == 0)
				{
					position=ftell(f);
				}
				memset(temp,0,30);
			}
		}
	}
	while (1);
	return position;
}

void change_sign(FILE *f,long position)
{
	int result;
	char temp[100]={0};
	result=fseek(f,position,SEEK_SET);
	result=fseek(f,-5,SEEK_CUR);
	if(result)
	{
		perror( "Fseek failed\n" );
		exit(0);
	}
	else
	{
		fputs( "no \n", f );
	}
}


⌨️ 快捷键说明

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