MatOCAD Logo

Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

FunzioniStringa.cpp

Go to the documentation of this file.
00001 #include "../../include/Parser/StruttureParser.h"
00002 #include <stdio.h>
00003 
00004 int Len(char* funzione)
00005 {
00006   int lung=0;
00007  while(funzione[lung]!='\0')
00008   lung++;
00009  return(lung);
00010 }
00011 
00012 void leggi_str(char* funzione)
00013 {
00014   char car;
00015   int i=0;
00016    car=getchar();
00017  while(car!='\n')
00018   { funzione[i]=car;
00019     i++;
00020     car=getchar();
00021   }
00022   funzione[i]='\0';
00023 }
00024 
00025 int Instr(int inizio,char* funzione,char* sub_funzione)
00026 {
00027   int len_sub,i,trovato=0;
00028 
00029   len_sub=Len(sub_funzione);
00030   trovato=0;
00031   inizio=inizio-1;
00032  while((funzione[inizio+len_sub-1]!='\0')&&(trovato==0))
00033  { i=0;
00034    trovato=1;
00035   while((trovato==1)&&(i<len_sub))
00036    {
00037     if(funzione[inizio+i]!=sub_funzione[i])
00038      trovato=0;
00039      i++;
00040    }
00041    inizio++;
00042  }
00043   if(trovato==1)
00044     return(inizio);
00045   else
00046     return(0);
00047 
00048  }
00049 void Concatena(char* dest,char* source)
00050 {
00051   int i=0,y=0;
00052   y=Len(dest);
00053  while(source[i]!='\0')
00054   {dest[y]=source[i];
00055    i++;
00056    y++;
00057   }
00058  dest[y]='\0';
00059 
00060 
00061 
00062 }
00063 void Mid(char* funz_tagliata,char* funzione,int inizio,int lunghezza)
00064 {
00065  int i;
00066  inizio=inizio-1; //PARTE DA ZERO
00067 
00068 for(i=inizio;(i<(lunghezza+inizio))&&(funzione[i]!='\0');i++)
00069     funz_tagliata[i-inizio]=funzione[i];
00070 
00071     funz_tagliata[i-inizio]='\0';
00072 
00073 }
00074 
00075 bool Isnumeric(const char* stringa)
00076 { int i=0,conta=0;
00077  while(stringa[i]!='\0')
00078   {if((stringa[i]<48)||(stringa[i]>57))
00079     {if(((stringa[i]!='.')&&(stringa[i]!='-')&&(stringa[i]!='+'))||(conta==2))
00080       return(false);
00081      else
00082       conta++;
00083     }
00084    i++;
00085   }
00086    return(true);
00087 
00088 }

 

SourceForge Logo