#1 Le 12/05/2024, à 17:26
- temps
[résolu] error: assigning to an array from an initializer list
bonjour, j'ai essayé d'améliorer un code qui marche afin de ne pas à avoir à réécrire le nom qui se répète en entier.
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <cstring>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
/**pour compiler g++ 'composeur.cpp' -std=c++11 -Wall -Wextra -o 'composeur' ********************/
int main(void) {
char appli[5];
char joapp[20]{"./joapp"};
int j,a;
std::cout << "Indiquez le nombre de formes à associer : "; std::cin >> j;
for (int i = 0; i < j; i++) {
std::cout << "Entrez la reférence, exemple 1 pour joapp1 de la forme à associer : "; std::cin>>appli;
strcat(joapp,appli);
std::system (joapp );
//std::system ( appli);
joapp={"./joapp"};
std::cout << "Attendre 5s, puis tapez sur 1 pour que l'application transforme le fichier texte :";std::cin>> a;
if (i == 0){std::system ("./executable");}//{execl("executable", "executable", NULL);}
if (i > 0){std::system ("./executable1");}//{execl("executable1", "executable1", NULL);}
std::cout << "Attendre 5s, puis tapez sur 1 pour poursuivre :";std::cin>> a;
std::system ("./poids");
std::cout << "Création de l'entete,attendre 2s puis tapez sur 1 pour poursuivre :";std::cin>> a;
}
}
c'est quand j'ai ajouté les lignes
char joapp[20]{"./joapp"};
strcat(joapp,appli);
joapp={"./joapp"};
que le défaut est apparu, car sans la troisième ligne la ref des appli avant reste et avec la troisième ligne j'ai le défaut indiqué.
Est-ce que quelqu'un à une idée ?
Cordialement
Dernière modification par temps (Le 12/05/2024, à 17:55)
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne
#2 Le 12/05/2024, à 17:55
- temps
Re : [résolu] error: assigning to an array from an initializer list
Je poste en résolu, j'ai trouvé la solution en encapsulant dans une boucle du for. En sortant de la boucle cela efface la variable et me laisse libre de la reconstruire selon le besoin
voici le code
#include <cstdlib>
#include <fstream>
#include <iostream>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <cstring>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
/**pour compiler g++ 'composeur.cpp' -std=c++11 -Wall -Wextra -o 'composeur' ********************/
int main(void)
{
char appli[20];
int j,a;
std::cout << "Indiquez le nombre de formes à associer : "; std::cin >> j;
for (int i = 0; i < j; i++)
{
std::cout << "Entrez la reférence, exemple :1 pour joapp1 de la forme à associer : "; std::cin>>appli;
for (int k = 0; k < 1 ; k++)
{
char joapp[20]{"./joapp"};
strcat(joapp,appli);
std::system (joapp );
std::cout << "Attendre 5s, puis tapez sur 1 pour que l'application transforme le fichier texte :";std::cin>> a;
}
if (i == 0){std::system ("./executable");}
else {std::system ("./executable1");}
std::cout << "Attendre 5s, puis tapez sur 1 pour poursuivre :";std::cin>> a;
std::system ("./poids");
std::cout << "Création de l'entete,attendre 2s puis tapez sur 1 pour poursuivre :";std::cin>> a;
}
}
Dernière modification par temps (Le 13/05/2024, à 09:18)
Parce que l'USB bootable est le support des systèmes experts,
Parce que l'USB bootable contient sa propre image au démarrage.
L'USB bootable permet de créer un monde à la dimension de son imagination
https://www.letime.net
Hors ligne