tags:string,char,seprate,whitespace
from:minishell project
function code:
example:
from:minishell project
function code:
void
parseString(
char
*
cLine,
char
*
pchar[]) {
int argc;
char * tCLine;
char ** clPtr;
// Initialization
tCLine = cLine;
clPtr = & tCLine;
argc = 0 ;
// This code does not handle multiple WHITESPACE characters
while ((pchar[argc ++ ] = strsep(clPtr, WHITESPACE)) != NULL) ;
pchar[argc -- ] = ' ' ; // Null terminated list of strings
}
int argc;
char * tCLine;
char ** clPtr;
// Initialization
tCLine = cLine;
clPtr = & tCLine;
argc = 0 ;
// This code does not handle multiple WHITESPACE characters
while ((pchar[argc ++ ] = strsep(clPtr, WHITESPACE)) != NULL) ;
pchar[argc -- ] = ' ' ; // Null terminated list of strings
}
example:
/*
example of the use of parseCommand()
*/
#include < stdio.h >
#include < string .h >
#define WHITESPACE " ., &"
#define TRUE 1
void parseCommand( char * , char ** );
main()
{
char s[ 100 ] = " abcdefg hijklmn opq rst uvw xyz " ;
char * sp[ 30 ];
int i = 0 ;
printf( " s=%s " ,s);
parseCommand(s,sp);
int j;
for ( j = 0 ; j < i ;j ++ )
printf( " sp[%d]=%s " ,j,sp[j]);
}
/* parseCommand()
*seprate cLine by WHITESPACE,put them to pchar[]
*#define WHITESPACE " ., &"
*bugs:This code does not handle multiple WHITESPACE characters
*/
void parseCommand( char * cLine, char * pchar[]) {
int argc;
char * tCLine;
char ** clPtr;
// Initialization
tCLine = cLine;
clPtr = & tCLine;
argc = 0 ;
// This code does not handle multiple WHITESPACE characters
while ((pchar[argc ++ ] = strsep(clPtr, WHITESPACE)) != NULL);
pchar[argc -- ] = ' ' ; // Null terminated list of strings
}
#include < stdio.h >
#include < string .h >
#define WHITESPACE " ., &"
#define TRUE 1
void parseCommand( char * , char ** );
main()
{
char s[ 100 ] = " abcdefg hijklmn opq rst uvw xyz " ;
char * sp[ 30 ];
int i = 0 ;
printf( " s=%s " ,s);
parseCommand(s,sp);
int j;
for ( j = 0 ; j < i ;j ++ )
printf( " sp[%d]=%s " ,j,sp[j]);
}
/* parseCommand()
*seprate cLine by WHITESPACE,put them to pchar[]
*#define WHITESPACE " ., &"
*bugs:This code does not handle multiple WHITESPACE characters
*/
void parseCommand( char * cLine, char * pchar[]) {
int argc;
char * tCLine;
char ** clPtr;
// Initialization
tCLine = cLine;
clPtr = & tCLine;
argc = 0 ;
// This code does not handle multiple WHITESPACE characters
while ((pchar[argc ++ ] = strsep(clPtr, WHITESPACE)) != NULL);
pchar[argc -- ] = ' ' ; // Null terminated list of strings
}