Merci déjà pour les réponses !
J'ai changé mon code, et aussi la condition qui était fausse :
Code :
- void PlayerNumbers() {
- int playerNumbers = 0;
- while (playerNumbers != 2 && playerNumbers != 3)
- {
- printf("How many players are you ? 2 or 3 ? : \n" );
- scanf_s("%d", &playerNumbers);
- }
- for (int i = 0; i < playerNumbers; i++)
- {
- Player* player;
- if (i == 0)
- {
- player = &j1;
- }
- else if (i == 1)
- {
- player = &j2;
- }
- else
- {
- player = &j3;
- }
- char tempo[50];
- printf("Enter your name : " );
- fgets(tempo, BUFFER_SIZE, stdin);
- i = 0;
- while (tempo[i] != '\n') {
- i++;
- }
- player->name = malloc(i * sizeof(char));
- strncpy(player->name, tempo);
- player->bank = 0;
- player->score = 0;
- player->ExtraTurn = 0;
- player->win = 0;
- }
- if (playerNumbers == 2)
- {
- wheelTurn(&j1, &j2);
- }
- wheelTurn2(&j1, &j2, &j3);
- }
|
ET VOICI LA STRUCTURE PLAYER :
Code :
- typedef struct Player Player;
- struct Player {
- char name;
- int bank;
- int score;
- int ExtraTurn;
- int win;
- };
|
Malheureusement, je voudrais enfaîte, faire la boucle for, et à chaque itération, entrer le nom du joueur, sauf que ici, je ne peux même pas entrer de caractère puisque j'ai une violation d'accès !
Je voulais entrez un prénom, et utiliser strncpy(destination, source) pour allouer à mon player->name, un pseudo.
Le problème est-il dans le fait que player->name est un char, alors que tempo est un tableau de char ?
J'espère ne pas avoir embrouillé vos cerveaux.
Je sens que j'utilise mal la fonction strncpy(), mais je ne trouve pas