Bonjour,
En C++, je souhaite, dans une boucle, écrire différents noms de fichiers en fonction de la variable de la boucle.
Voici mon bout de code :
#include "voro++.hh"
#include <iostream>
#include <sstream>
string cellname;
cellname << "single_cell_" << j << ".gnu";
v.draw_gnuplot(0,0,0,cellname.str());
Le but est de sortir un fichier image de la forme single_cell_1.gnu, single_cell_2.gnu, ...
J'ai essayé diverses méthodes, string, stringstream, std::string, etc
et je reçois un nombre d'erreurs variables suivant la technique.
Le code précédent me renvoi l'erreur :
error : expected initializer before 'string'
Pouvez-vous m'aider ? Je tourne en rond.
Merci d'avance
J'ai une alternative mais qui me sort aussi un bug, peut être plus simple à résoudre :
#include "voro++.hh"
#include <iostream>
#include <sstream>
#include <string>
std::string name = "John";
int age = 21;
std::string result;
result = name + std::to_string(age);
que je compile grâce à la ligne suivante :
gcc cell.cpp -o cell -Wall -I/usr/local/include/voro++ -L/usr/local/lib -lvoro++! -std=c++11
Le problème est que je reçois le message d'erreur suivant :
/usr/bin/ld: cannot find -lvoro++!
Alors que si je compile avec le code suivant -lvoro est bien trouvé.
gcc cell.cpp -o cell -Wall -I/usr/local/include/voro++ -L/usr/local/lib -lvoro++! -
J'ai essayé de déplacer le std mais le message d'erreur est toujours le même.
#include <string>
#include "voro++.hh"
std::string cellname = "single_cell_" + std::to_string(j) + ".gnu";
v.draw_gnuplot(0,0,0,cellname.c_str());
Et pour ta deuxième question le problème vient surement du '!' pourquoi il est là ?
Bonjour ACanOfPickles,
Merci pour ta réponse rapide et merci ton code fonctionne très bien.
J'ai du changer la commande pour compiler qui posait elle aussi vers :
g++ cell.cpp -o cell -Wall -I/usr/local/include/voro++ -L/usr/local/lib -lvoro++ -std=gnu++14
Encore merci, je tournais en rond depuis 2 jours.