Како читати стринг у Ц

Како читати стринг у Ц. Програмски језик Ц не пружа стварни тип података низа. У Ц, стринг се емулира низом знакова који се завршава са НУЛЛ. Такав низ се може декларисати статички или као показивач. Стандардни Ц пружа многе функције за манипулисање низовима знакова или Ц стринговима. Овај чланак се фокусира на функције које читају из улазног тока и из датотека. Пратите ове савете да бисте научили како да читате низ у Ц.

Корак 1

Разумети основе. Ц стринг је низ графикона типова. Као и код свих Ц низова, први елемент је индексиран на 0, а последњи на „дужина низа минус 1“. Обично компајлер убацује НУЛЛ на последњу локацију, тако да стринг може да садржи "дужину стринга минус 1" елемената. Нулл је еквивалентно 0к00 у целобројном облику и '\0' у облику знакова. Елементима приступа оператор "[]". Корак 2 илуструје ове концепте.

Видео дана

Корак 2

Додајте „инцлуде директиву“ испод у било коју изворну датотеку пре коришћења функција овог упутства:

#инцлуде < стдио.х >

Корак 3

Декларишите Ц стринг. Код испод показује декларацију користећи статичку методу и метод показивача:

// статичка декларација цхар стр[50] = {0}; // скраћени начин да се сви елементи иницијализују на 0 // стр[49] је НУЛЛ // стр има капацитет за 48 знакова // декларација показивачем цхар пСтр = НУЛЛ; // нема алокације меморије пСтр = (цхар)маллоц (50); // ово ради "маллоц()"

Корак 4

Прочитајте податке у Ц стринг користећи „сцанф()“ који чита низ стрингова одвојених размаком од стандардног унос и поставља их на адресе које припадају одговарајућим референтним варијаблама, према "формату низ":

инт н; принтф("Унесите своје име и године: "); сцанф("%с%д", стр, &н); // принтф("Ваше име је %с и стари сте %д\н", стр, н);

Корак 5

Ставите податке у Ц стринг користећи једноставнију функцију „гетс()“, која чита податке из стандардног уноса само у стринг:

принтф("Унесите своје презиме: "); гетс (стр); принтф("Ваше име је %с\н", стр);

Корак 6

Прочитајте податке из датотеке у Ц стринг користећи „фсцанф()“; ова функција је аналогна "сцанф()":

ФИЛЕ* пФиле; пФиле = фопен("миФиле.ткт", "р"); // претпоставимо да датотека постоји и има податке иф (НУЛЛ != пФиле) { фсцанф (пФиле, "%с", стр); принтф("Прва реч у датотеци је %с\н", стр); фцлосе (пФиле); }

Корак 7

Поновите корак 5 користећи „фгетс()“ који ради исто као и „гетс()“:

ФИЛЕ* пФиле; пФиле = фопен("миФиле.ткт", "р"); иф (НУЛЛ != пФиле) { фгетс (пФиле, стр); принтф("Прва реч у датотеци је %с\н", стр); фцлосе (пФиле); }

Ствари које ће вам требати

  • Ц/Ц++ ИДЕ или Ц компајлер

  • Књига о Ц-у, као што је „Програмски језик Ц“ од Брајана В. Кернигхан

Савет

Да бисте сазнали више о поменутим функцијама, посетите веб локацију Ц Плус Плус.

Упозорење

Не покушавајте да компајлирате овај код. Намењен је само да демонстрира функције. То није кохерентан програм и даће грешке када се компајлира.