home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Monster Media 1994 #1
/
monster.zip
/
monster
/
PCBOARD
/
PCBM102.ZIP
/
SOURCES.ZIP
/
MYSTRING.C
< prev
next >
Wrap
C/C++ Source or Header
|
1994-01-22
|
4KB
|
137 lines
/*
┌────────────────────────────────────────────────────────────────────────┐
│ │
│ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▒▄ ▒▒▒▒▒▒▒▒▄ ▒▒▒▒▒▒▄ ▒▒▄ ▒▒▄ ▒▒▒▒▒▒▄ │
│ ▒▒█▀▒▒█ ▒▒█▀▀▀▀ ▒▒█▀▒▒█ ▒▒█▒▒█▒▒█ ▒▒█▀▒▒█ ▒▒█ ▒▒█▀ ▒▒█▀▀▀▀ │
│ ▒▒▒▒▒▒█ ▒▒█ ▒▒▒▒▒█▀ ▒▒█▒▒█▒▒█ ▒▒█ ▒▒█ ▒▒█ ▒▒█▀ ▒▒▒▒▄ │
│ ▒▒█▀▀▀▀ ▒▒█ ▒▒█▀▒▒█ ▒▒█ ▀▀▒▒█ ▒▒█ ▒▒█ ▒▒█▒▒█▀ ▒▒█▀▀ │
│ ▒▒█ ▒▒▒▒▒▒▄ ▒▒▒▒▒▒▒█ ▒▒█ ▒▒█ ▒▒▒▒▒▒█ ▒▒▒█▀ ▒▒▒▒▒▒▄ │
│ ▀▀ ▀▀▀▀▀▀ ▀▀▀▀▀▀▀ ▀▀ ▀▀ ▀▀▀▀▀▀ ▀▀▀ ▀▀▀▀▀▀ │
│ │
│ Module : Mystring.c │
│ │
│ Fonction : Diverses fonction de traitement de chaines │
│ │
└────────────────────────────────────────────────────────────────────────┘
*/
#include <stdio.h>
#include <string.h>
#include <time.h>
#ifdef __TURBOC__
#include <ctype.h>
#endif
#include "mystring.h"
/*-----------------------------------------------------------------------*/
/*
* STRLEFT : aligne une chaine, en supprimant les espaces à gauche.
*
* Retourne l'adresse de la chaine.
* RC 1990
*/
char *strleft(char *str )
{
char *p1,*p2;
p1 = str ;
p2 = str ;
while( *p1 && isspace( *p1 ) )
p1++;
while(*p1)
*p2++ = *p1++ ;
*p2 = 0 ;
return( str );
}
/*----------------------------------------------------------------------*/
/*
* _CLEAN : nettoie les \r ou \n restant a droite d'une chaine.
*
*
*/
void
_Clean(char *name)
{
while(*name)
{
if(*name == 0x0D || *name == 0x0A )
*name = 0 ;
name++;
}
}
/*
* STRCLEAN : Elimine les espaces à gauche et à droite d'une chaine.
*
* Retourne un pointeur sur la chaine.
*/
unsigned char *strclean(unsigned char *Buff)
{
unsigned char *ptr=Buff;
/* vire spaces a gauche*/
while(*Buff== 32) memmove(Buff,Buff+1,strlen(Buff));
while(*ptr)ptr++; /* va au bout de la chaine */
ptr--; /* recule sous le zero */
while(*ptr==32) /* vire espaces a droite */
{
*ptr=0;
ptr--;
}
return( Buff) ;
}
/*---------------------------------------------------------------------------*/
/* Extraction du nom de fichier seul sans le chemin sous Dos */
/*---------------------------------------------------------------------------*/
void filtre_filename( unsigned char *cible,unsigned char *source )
{
int r;
r=strlen(source);
while (r>=0)
{
if((source[r]==92)||(source[r]==58))
{
strcpy(cible,&source[r+1]);
strlwr(cible);
return;
}
r--;
}
strcpy(cible,source);
strlwr(cible);
}
/*---------------------------------------------------------------------------
* CHAINE2INT : Lit la chaine de la forme "25 44 02 3 200" et met cela en
* octet dans une autre chaine
*/
void Chaine2int (char *ptr, char *tablo)
{
int i;
char *ptr2;
memset (tablo, 0, 100);
i=0;
while (*ptr) /* tout ca, c'est grosse bidouille pour */
{ /* convertir des nombres ASCII en int */
if (isdigit(*ptr)) {
ptr2 = strchr (ptr, ' ');
if (ptr2 == NULL) /* si pas trouvé car dernier numéro */
ptr2 = strchr (ptr, 0);
*ptr2 = 0;
tablo[i++] = atoi (ptr);
ptr = ++ptr2;
} else {
++ptr;
} /* fin if */
} /* fin while */
}