0
alors j'essaye de lire les chaînes en utilisant sscanf mais il ne semble pas lire quoi que ce soit. J'ai suivi le tutrial et ça a l'air très similaire. Je ne peux pas comprendre pourquoi il ne lit rien.Pourquoi sscanf ne lit rien
int main(){
int status =0;
int ret = 0;
int arg;
char *cmdLine = NULL;
char *cmd=NULL;
size_t n = 0;
char *line = NULL;
char *token =NULL;
while (getline(&line, &n, stdin) > 0){
//toekenize line
token = strtok(line,";");
//go thorugh and scan for cmds
while(token !=NULL){
// printf("token=%s\n", token);
cmdLine = token;
printf("%s\n", cmdLine);
//read the commands
ret=sscanf(cmdLine, "%31s %d", cmd, &arg);
printf("%d\n", ret);
token = strtok(NULL, ";");
}//while loop 2
//set line and n back to null and 0.
line = NULL;
n = 0;
}//while loop 1
'ret = sscanf (cmdLine, "% 31s% d", cmd, &arg);': '' cmd' est null' 'char * cmd = NULL;. '->' char cmd [32]; ' – BLUEPIXY
Vous n'avez alloué aucune mémoire pour' cmd' – Barmar
Utilisez 'char cmd [32];' – Barmar