Sto provando a eseguire una semplice stringa di accesso a 0 e per qualche motivo ottengo un errore di limite in Borland Builder 5 C++.Borland Builder 5 C++ Le stringhe non possono indicizzare a 0
Qualcuno ha trovato un modo per aggirare questo? Esiste un tipo speciale di stringa che utilizza il compilatore Borland?
Sì. Sono basati su 1, perché C++ Builder e Delphi condividono tipi comuni. (Il VCL in C++ Builder è scritto e compilato dal compilatore di Delphi.) Quindi usate l'indicizzazione basata su 1, o convertiteli in una stringa compatibile con C++ se per qualche motivo dovete avere indici basati su 0. –
La cosa divertente è che la gestione dell'indice 0 non è uguale in tutti i metodi AnsiString. Ad esempio, in BCB5, 'SubString()' restituisce una stringa vuota e non genera un errore se gli si assegna un indice inferiore a 1. Ma in BCB6 e versioni successive, gli indici inferiori a 1 vengono invece mappati in modo silente all'indice 1. –
@Remy, è strano. Ho postato un commento invece di una risposta perché sapevo che avresti visto la domanda e avrei potuto rispondere meglio di quanto avrei potuto; Uso raramente Builder. :-) –