const char Input[] PROGMEM = "Zkušební text";
char CSVline[] = "subdomain1.domain.tld,2441,Username,PWDTsa5JrHYx,/path1/path2/ \n";
char CharArray[] = "Proměnná s textem";
const PROGMEM char BOM[] = {0xEF, 0xBB, 0xBF, 0x2A, 0x2B,};
// const char *p;
char * ptr;
uint8_t CSVlinelength;
size_t pFTPport;
size_t pFTPlogin;
size_t pFTPpassw;
size_t pFTPpath;
// const char *p;
uint16_t FTPport;
bool Error = false;
uint8_t param;
uint8_t i;
char fURL[30];
uint16_t fPORT;
char fUSER[12];
char fPWD[15];
char fPATH[30];
void setup() {
Serial.begin(115200);
// char CSVline[] = "subdomain1.domain.tld,211,username,Tsa5JrHYx0gmde,/ \n";
param = sscanf(CSVline, "%29[^,],%hu,%11[^,],%14[^,],%29s", fURL, &fPORT, fUSER, fPWD, fPATH);
Serial.print("Parsed parameters: ");
Serial.println(param);
Serial.print("URL: ");
Serial.print(fURL);
Serial.println("«");
Serial.print("Port: ");
Serial.println(fPORT);
Serial.print("User: ");
Serial.print(fUSER);
Serial.println("«");
Serial.print("Password: ");
Serial.print(fPWD);
Serial.println("«");
if (param != 5) {
Error = true;
}
if (fPATH[0] != '/') {
Serial.println(F("File path doesn't start with '/'."));
Error = true;
}
if (fPATH[strlen(fPATH) - 1] != '/') {
Serial.println(F("File path doesn't end with '/'."));
Error = true;
}
Serial.print("Path: ");
Serial.print(fPATH);
Serial.println("«");
delay(2000);
if (! Error) {
DisplayParameters(fURL, fPORT, fUSER, fPWD, fPATH);
}
}
void loop() {
// delay(3000);
}
void DisplayParameters(char text1[], uint16_t port, char text3[], char text4[], char text5[]) {
Serial.println("\nFunction DisplayParameters with char arrays in declaration.");
Serial.println(text1);
Serial.println(port);
Serial.println(text3);
Serial.println(text4);
Serial.println(text5);
}