SPIFFS - Ecriture des fichiers - incompréhension
Bonjour à tous,
Je butte sur une incompréhension de ma part, certainement sur le langage C++:
Après avoir chargé
Code:
1 2
| #include "FS.h"
#include <SPIFFS.h> |
Je crée une routine d'écriture de fichier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| //***************** Ecriture SPIFFS **********************************
void ecritureFichier(fs::FS &fs, const char *dir, const char *message){
sBt.printf("Ecriture du fichier: %s\r\n", dir);
File fic = fs.open(dir, FILE_WRITE);
if(!fic){
sBt.println("Pas de fichier");
return;
}
if(fic.print(message)){
sBt.println("Fichier ecrit");
} else {
sBt.println("Erreur d'ecriture");
}
fic.close();
} |
puis pour y accéder j'ai une autre routine:
Code:
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
| //*************Programmation alarme journalière par bluetooth**************
void enregAlarmJour(char *al){
if(!(al[2]==':' && al[5]=='-')){
sBt.println(msg[3]);
return;
}
hAlarmJ= (al[0]-ASCII0) * 10 + (al[1]-ASCII0); //conversion ASCII en int
mAlarmJ= (al[3]-ASCII0) * 10 + (al[4]-ASCII0);
msgAlarmJ="";
for(int i=6;i<LGMSG;i++){
if(al[i]=='\n') break;
msgAlarmJ += al[i];
}
msgAlarmJ.trim();
char rep;
do{
sBt.println("Enregistrement ? O/N");
while(!sBt.available()){}
rep=sBt.read();
}while(!(rep=='o' || rep=='O' || rep=='n' || rep=='N'));
if(rep=='o' || rep=='O'){
ecritureFichier(SPIFFS,"/AlarmJ.txt",al);
delay(1000);
}
} |
Là j'obtiens un message positionné sur la contenu du fichier 'al' à l'appel de la procédure d'écriture:
Citation:
ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]
Je ne comprends pas ce message. Pourquoi dans la fonction d'écriture la variable 'message' est déclarée 'const' ?
Merci d'une aide
Michel