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

📄 convapi.c

📁 unix 下用pro*c tuxedo 开发的东西
💻 C
📖 第 1 页 / 共 5 页
字号:
		cLine[i] = '\0';

	}

	return(1);

}



/*

Read a line to a string from a file, "\n" is excluded.

return 1 if sucessful, 0 otherwise

Do not close the file.

*/



int myapi_ReadALinefromF( char *cALine,FILE *hTable )

{

	char cChar='\0';

	int i=0;

	cALine[0] = '\0';

	while( (cChar = fgetc( hTable )) != '\n' )

	{

		if( cChar == EOF ) return(0);

		cALine[i++] = cChar;

		

		if( i >= MAX_LINE_LEN ) i=0;

		cALine[i] = '\0';	/* define the end of a string */

	}

	return(1);

}



/* change the int varible to the string */

void itoa(long The_int_data, char* The_out_string, int j)

{

	int k;

	char tmp[]="               ";

	char tempstr[15];

	sprintf(The_out_string,"%d",The_int_data);

	k=strlen(The_out_string);

	if( k>=j )

		return;

	strncpy(tempstr,tmp,(j-k));

	tempstr[j-k]='\0';

	strcat(tempstr,The_out_string);

	strcpy(The_out_string,tempstr);

}

/*

{

	char exch_str[12];

	char a;

	int i=0, n, the_mod;

	The_out_string[0]='\0';

	

	if (The_int_data==0)

	{

		exch_str[0]='0';

		exch_str[1]='\0';

		

		

		strcat( The_out_string, exch_str);

		for(n=1;n<j-1;n++)

		The_out_string[n]=' ';

		The_out_string[n]='\0';

		return;

	}

	

	

	while(1)

	{

		

		the_mod = The_int_data%10;

		exch_str[i] = (char )(the_mod+48);

		exch_str[i+1] = '\0';

		i++;

		

		if((The_int_data = (The_int_data/10))<10) 

		{

			exch_str[i] = (char)(The_int_data+48);

			exch_str[i+1] = '\0';

			break;

		}



	}

	

	for(n=0;n<=i;n++)

	The_out_string[n] = exch_str[i-n];

	for(n=i+1;n<j-1;n++)

	The_out_string[n]=' ';

	The_out_string[n]='\0';

}*/



/* change the float varible to string, the parameter 'm' is the decimal */

void ftoa(float The_float_data, char *The_out_string, int m, int j)		

{

	float dot_data;

	long The_int_body, The_int_data;

	int k=10;

	int i=1,n;

	char First_string[8], End_string[8], dot[2],whole_string[10];

	

	

	The_out_string[0]='\0';

	dot[0]='.';

	dot[1]='\0';

	

	/* if the float equl to zero ,then ... */

	if (The_float_data==0)

	{

		if (m==0)

		{

			First_string[0]='0';

			First_string[1]='\0';

			strcat(The_out_string, First_string);

			for(n=1;n<j-1;n++)

			The_out_string[n]=' ';

			The_out_string[n]='\0';

			return;

		}

		First_string[0]='0';

		First_string[1]='\0';

		strcat(The_out_string, First_string);

		strcat(The_out_string, dot);

		for(n=0;n<m;n++)

		End_string[n]='0';

		End_string[n]='\0';

		strcat(The_out_string, End_string);

		for(n=m+2;n<j-1;n++)

		The_out_string[n]=' ';

		The_out_string[n]='\0';

		return;

	}

	

	

	/* change the float to long varible */

	for(n=1;n<m;n++)

	k = 10*k;

	

	if( (The_float_data*k-(int)(The_float_data*k))<0.5 )

		The_int_body = (int)(The_float_data*k);

	else 

		The_int_body = (int)(The_float_data*k)+1;

	

	/* calculate the digit of the long varible */

	The_int_data = The_int_body;

	while(1)

	{

		if((The_int_data = (The_int_data/10))<10) 

		break;

		i++;

	}

	i++;

	itoa(The_int_body, whole_string, i);

	

	/* if the float varible smaller than 1, then ... */

	if (The_float_data< 1 )

	{

		First_string[0]='0';

		First_string[1]='\0';

		strcat(The_out_string, First_string);

		strcat(The_out_string, dot);

		strcat(The_out_string, whole_string);

		for(n=i+2;n<j-1;n++)

		The_out_string[n]=' ';

		The_out_string[n]='\0';

		return;

	}

	

	/*change the varible to the First_string and End_string seperate by the dot */

	for(n=0;n<i-m;n++)

	First_string[n]=whole_string[n];

	First_string[n]='\0';

	

	for(n=0;n<m;n++)

	End_string[n]=whole_string[i-m+n];

	End_string[n]='\0';

	

	

	

	strcat( The_out_string, First_string );

	strcat( The_out_string, dot );

	strcat( The_out_string, End_string );

	for(n=i+1;n<j-1;n++)

	The_out_string[n]=' ';

	The_out_string[n]='\0';

	

	

}



/*delete the ' ' or '\n' of a string at the begin and end*/



void trim(char *CAline)

{

	int i,j;

	char temp_string[100];

	i=strlen(CAline);

	while(i>0)		/*delete the end ' ' or '\n' */

	{

		if(CAline[i-1]==' '||CAline[i-1]=='\n')

			CAline[i-1]='\0';

		else

			break;

		i--;

	}

	i=0;j=0;

	while( CAline[i]!='\0' )	/*delete the head ' ' or '\n' */

	{

		if(CAline[i]==' '||CAline[i]=='\n')

			i++;

		else

		{

			for (j=0;CAline[i]!='\0';i++,j++)

				CAline[j]=CAline[i];

			break;	

		}	

	}

	CAline[j]='\0';

}



int InitPcsConvertFile()

{

	/* EXEC SQL BEGIN DECLARE SECTION; */ 


	/* VARCHAR username[20]; */ 
struct { unsigned short len; unsigned char arr[20]; } username;


	/* VARCHAR password[20]; */ 
struct { unsigned short len; unsigned char arr[20]; } password;


	/* EXEC SQL END DECLARE SECTION; */ 


	

	strcpy(username.arr,"pcsdba");

	username.len=strlen(username.arr);

	strcpy(password.arr,"dba");

	password.len=strlen(password.arr);

	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 


	

	/* EXEC SQL CONNECT :username IDENTIFIED BY :password; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 3;
 sqlstm.iters = (unsigned int  )10;
 sqlstm.offset = (unsigned int  )44;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)&username;
 sqlstm.sqhstl[0] = (unsigned int  )22;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)&password;
 sqlstm.sqhstl[1] = (unsigned int  )22;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



	if( ERROR!=0 )

	{

		ERROR=0;

		return(-1);

	}

	return(0);

}



void ErrorEnded(char *string)

{

	ProcessError(LOG_ERROR,string,END);

	if(message!=NULL)

	free(message);

	if(messagesj!=NULL)

	free(messagesj);

	if(messagepd!=NULL)

	free(messagepd);

	if(messagepdsj!=NULL)

	free(messagepdsj);

	/* EXEC SQL ROLLBACK WORK; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 3;
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )70;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



}



/*add null at left or right to format a string, 0 means left ,1 means right*/



void str_givenlen( char *string,int p,char location )

{

	int i,j;

	char nullstr[]="               ";

	char tmpstr[20];

	trim(string);

	tmpstr[0]='\0';

	for(;;)

	{

		if( (string[0]=='0') && (strlen(string)!=1)&& (string[1]!='.') )

			string[0]=' ';

		else break;

		

		trim(string);

	}

	

	i=strlen(string);

	if( location=='0' )	/* 0 means left */

	{

		strncpy(tmpstr,nullstr,p-i);

		tmpstr[p-i]='\0';

		strcat(tmpstr,string);

		

		strcpy(string,tmpstr);

	}

	else

	{

		strncat(string,nullstr,p-i);

		string[p]='\0';

	}

}



/*  Check wether a file is exist  */

int MyExistFile( const char* sFile )

{

	FILE *hFileToOpen;

	hFileToOpen = fopen( sFile, "r" );

	if( hFileToOpen != (FILE*)NULL )

	{

		fclose( hFileToOpen );

		return(1);

	}

	else

		return(0);

}



int strnum_format(char *tempstr)

{

	if( tempstr[1]==' ' )

		return(-1);

	trim(tempstr);

	if( strlen(tempstr)==1 )

	{

		tempstr[2]='\0';

		tempstr[1]=tempstr[0];

		tempstr[0]='0';

	}

	if( strlen(tempstr)==0||strlen(tempstr)>2 )

		return(-1);

	return(0);

}



int strformat(char *tempstr)

{

	int    old,new,count;

	char  test_str[MID_LEN],tempstring[MID_LEN];

	strcpy(test_str,tempstr);

	trim(test_str);

	old=strlen(tempstr);

	new=strlen(test_str);

	count=old-new;

	tempstring[0]='\0';

	for( ;count>0;count-- )

		strcat(tempstring,"0");

	strcat(tempstring,test_str);

	strcpy(tempstr,tempstring);

	return(0);

}



int GetPATH(char *bkdh,char *sjbh,int yxnf,char fbkjbh[3])

{

/*	trim(bkdh);

*/	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 


	/* EXEC SQL SELECT fbkjbh INTO :fbkjbh FROM t_snmlfb WHERE bkdh=:bkdh and yxnf=:yxnf; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 3;
 sqlstm.stmt = "select fbkjbh into :b0  from t_snmlfb where (bkdh=:b1 and yx\
nf=:b2)";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )84;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)fbkjbh;
 sqlstm.sqhstl[0] = (unsigned int  )3;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)bkdh;
 sqlstm.sqhstl[1] = (unsigned int  )0;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqhstv[2] = (unsigned char  *)&yxnf;
 sqlstm.sqhstl[2] = (unsigned int  )4;
 sqlstm.sqindv[2] = (         short *)0;
 sqlstm.sqharm[2] = (unsigned int  )0;
 sqlstm.sqphsv = sqlstm.sqhstv;
 sqlstm.sqphsl = sqlstm.sqhstl;
 sqlstm.sqpind = sqlstm.sqindv;
 sqlstm.sqparm = sqlstm.sqharm;
 sqlstm.sqparc = sqlstm.sqharc;
 sqlcxt((void **)0, &sqlctx, &sqlstm, &sqlfpn);
 if (sqlca.sqlcode < 0) sqlerror();
}



	if( ERROR!=0 )

	{

		ERROR=0;

		return(-1);

	}

/*	trim(fbkjbh);

*/	return(0);

}



int ConvertZZYSSJ(char *tempstring,char *messagesj,long int key,char *sjbh,int yxnf)

{

	int num_yffs,control;

	char tempstr[SHORT_LEN];

	char zfj[9];
	

	/* EXEC SQL WHENEVER SQLERROR DO sqlerror(); */ 

	/* EXEC SQL SELECT COUNT(*) INTO :control FROM T_JSZDYSSJ

		 WHERE jsxh=:key and sjbh=:sjbh; */ 

{
 struct sqlexd sqlstm;

 sqlstm.sqlvsn = 8;
 sqlstm.arrsiz = 3;
 sqlstm.stmt = "select count(*)  into :b0  from T_JSZDYSSJ where (jsxh=:b1 a\
nd sjbh=:b2)";
 sqlstm.iters = (unsigned int  )1;
 sqlstm.offset = (unsigned int  )110;
 sqlstm.selerr = (unsigned short)1;
 sqlstm.cud = sqlcud0;
 sqlstm.sqlest = (unsigned char  *)&sqlca;
 sqlstm.sqlety = (unsigned short)0;
 sqlstm.sqhstv[0] = (unsigned char  *)&control;
 sqlstm.sqhstl[0] = (unsigned int  )4;
 sqlstm.sqindv[0] = (         short *)0;
 sqlstm.sqharm[0] = (unsigned int  )0;
 sqlstm.sqhstv[1] = (unsigned char  *)&key;
 sqlstm.sqhstl[1] = (unsigned int  )4;
 sqlstm.sqindv[1] = (         short *)0;
 sqlstm.sqharm[1] = (unsigned int  )0;
 sqlstm.sqhstv[2] = (unsigned char  *)sjbh;
 sqlstm.sqhstl[2] = (unsigned int  )0;
 sqlstm.sqindv[2] = (         short *)0;
 sqlstm.sqharm[2] = (unsigned int  )0;

⌨️ 快捷键说明

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