1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| #include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* getLastWordKO(char* src, char* lastWord);
char* getLastWordOK(char* src, char** lastWord);
int main()
{
char* testStr = "chaine test\0";
char* lastWord = "str\0";
char* lastWord2 = "str2\0";
lastWord2 = getLastWordKO(testStr, lastWord);
printf("KO : param : %s - ret : %s\r\n", lastWord, lastWord2);
lastWord2 = getLastWordOK(testStr, &lastWord);
printf("OK : param : %s - ret : %s\r\n", lastWord, lastWord2);
return 0;
}
//redirection de lastword pour pointer vers le premier espace.
//Ne fonctionne pas sur le pointeur passé en paramètre, mais retourne bien la bonne adresse.
char* getLastWordKO(char* src, char* lastWord)
{
lastWord = strrchr(src, ' ')+1;
return lastWord;
}
//redirection de lastword pour pointer vers le premier espace.
//fonctionne dans les 2 cas.
char* getLastWordOK(char* src, char** lastWord)
{
*lastWord = strrchr(src, ' ')+1;
return *lastWord;
} |
Partager