Udostępnij za pośrednictwem


Maksymalna długość ciągu

Specyficzne dla firmy Microsoft

Zgodność ze standardem ANSI wymaga, aby kompilator akceptował do 509 znaków literału ciągu po skompilowaniu. Maksymalna długość literału ciągu dozwolonego w języku Microsoft C wynosi około 2048 bajtów. Jeśli jednak literał ciągu składa się z części ujętych w podwójny cudzysłów, preprocesor łączy części w jeden ciąg, a dla każdego wiersza łączy się, dodaje dodatkowy bajt do całkowitej liczby bajtów.

Załóżmy na przykład, że ciąg składa się z 40 wierszy z 50 znakami na wiersz (2000 znaków), a jeden wiersz z 7 znakami, a każdy wiersz jest otoczony podwójnym cudzysłowem. Spowoduje to dodanie do 2007 bajtów i jednego bajtu dla znaku zerowego zakończenia w sumie 2008 bajtów. W przypadku łączenia dodatkowy znak jest dodawany dla każdego z pierwszych 40 wierszy. Daje to łącznie 2048 bajtów. Należy jednak pamiętać, że jeśli kontynuacje wierszy (\) są używane zamiast podwójnych cudzysłowów, preprocesor nie dodaje dodatkowego znaku dla każdego wiersza.

Chociaż pojedynczy ciąg cytowany nie może być dłuższy niż 2048 bajtów, literał ciągu o długości około 65535 bajtów można skonstruować przez łączenie ciągów.

END Microsoft Specific

Zobacz też

Literały ciągu języka C