
Hebang
(usa Arch Linux)
Enviado em 08/10/2010 - 13:32h
Olá!
Já tenho experiência em C/C++, porém não consigo me dar bem com a biblioteca string.h.
Tenho que fazer um método que procure a primeira ocorrência de uma virgula em um char* e jogue para outro char* tudo que vier antes dessa virgula. Algo do tipo:
"abc,def" -----> "abc"
Abaixo segue o código que fiz, porém esta gerando segfault e não consigo ver nenhum acesso irregular de memória.
( Algumas variaveis são declaradas mas não são usadas ainda, porém serão usadas no futuro )
#include <stdio.h>
#include <string.h>
void parseCommand( char* line ){
char* pos_i;
char* pos_f;
char* aux;
pos_f = strtok( line, "," );
if( pos_f != NULL ){
strncpy( aux, line, pos_f - line + 1 );
printf( "%s\n", aux );
}
else{
printf( "NULL pointer!\n" );
}
}
int main(){
char* test = "abcde,fgh";
parseCommand( test );
return 0;
}
Em C++ não há problemas, consigo escrever o método sem problemas, mas em C não estou conseguindo.
Agradeço a qualquer ajuda/palpite/dica que for enviada.
PS: O código deve ser escrito em C, utilizando a biblioteca string.h. C++ não é permitido :(