Lunghezza massima della stringaMaximum String Length

Sezione specifica MicrosoftMicrosoft Specific

La compatibilità ANSI richiede al compilatore di accettare un massimo di 509 caratteri in un valore letterale stringa dopo la concatenazione.ANSI compatibility requires a compiler to accept up to 509 characters in a string literal after concatenation. La lunghezza massima di un valore letterale stringa consentita in Microsoft C è di circa 2.048 byte.The maximum length of a string literal allowed in Microsoft C is approximately 2,048 bytes. Nei casi in cui il valore letterale stringa è costituito da parti racchiuse tra virgolette doppie, tuttavia, il preprocessore concatena le parti in una singola stringa e, per ogni riga concatenata, aggiungere al numero di byte totale un ulteriore byte.However, if the string literal consists of parts enclosed in double quotation marks, the preprocessor concatenates the parts into a single string, and for each line concatenated, it adds an extra byte to the total number of bytes.

Ad esempio, si consideri il caso di una stringa costituita da 40 righe da 50 caratteri per riga (2.000 caratteri) più una riga da 7 caratteri, in cui ogni riga è racchiusa tra virgolette doppie.For example, suppose a string consists of 40 lines with 50 characters per line (2,000 characters), and one line with 7 characters, and each line is surrounded by double quotation marks. I byte totali sono 2.008, ovvero 2.007 più un byte per il carattere di terminazione null.This adds up to 2,007 bytes plus one byte for the terminating null character, for a total of 2,008 bytes. In fase di concatenazione, viene aggiunto un byte per ognuna delle prime 40 righe.On concatenation, an extra character is added for each of the first 40 lines. In questo modo, si ottengono 2.048 byte totali.This makes a total of 2,048 bytes. Si noti, tuttavia, che se si usano le continuazioni di riga (\) anziché le virgolette doppie, il preprocessore non aggiunge il carattere extra per ogni riga.Note, however, that if line continuations (\) are used instead of double quotation marks, the preprocessor does not add an extra character for each line.

Mentre una stringa singola tra virgolette non può superare i 2048 byte, è possibile costruire un valore letterale stringa di circa 65535 byte, concatenando più stringhe.While an individual quoted string cannot be longer than 2048 bytes, a string literal of roughly 65535 bytes can be constructed by concatenating strings.

Fine sezione specifica MicrosoftEND Microsoft Specific

Vedere ancheSee Also

Valori letterali stringa CC String Literals