Како читати стринг у Ц. Програмски језик Ц не пружа стварни тип података низа. У Ц, стринг се емулира низом знакова који се завршава са НУЛЛ. Такав низ се може декларисати статички или као показивач. Стандардни Ц пружа многе функције за манипулисање низовима знакова или Ц стринговима. Овај чланак се фокусира на функције које читају из улазног тока и из датотека. Пратите ове савете да бисте научили како да читате низ у Ц.
Корак 1
Разумети основе. Ц стринг је низ графикона типова. Као и код свих Ц низова, први елемент је индексиран на 0, а последњи на „дужина низа минус 1“. Обично компајлер убацује НУЛЛ на последњу локацију, тако да стринг може да садржи "дужину стринга минус 1" елемената. Нулл је еквивалентно 0к00 у целобројном облику и '\0' у облику знакова. Елементима приступа оператор "[]". Корак 2 илуструје ове концепте.
Видео дана
Корак 2
Додајте „инцлуде директиву“ испод у било коју изворну датотеку пре коришћења функција овог упутства:
#инцлуде < стдио.х >
Корак 3
Декларишите Ц стринг. Код испод показује декларацију користећи статичку методу и метод показивача:
// статичка декларација цхар стр[50] = {0}; // скраћени начин да се сви елементи иницијализују на 0 // стр[49] је НУЛЛ // стр има капацитет за 48 знакова // декларација показивачем цхар пСтр = НУЛЛ; // нема алокације меморије пСтр = (цхар)маллоц (50); // ово ради "маллоц()"
Корак 4
Прочитајте податке у Ц стринг користећи „сцанф()“ који чита низ стрингова одвојених размаком од стандардног унос и поставља их на адресе које припадају одговарајућим референтним варијаблама, према "формату низ":
инт н; принтф("Унесите своје име и године: "); сцанф("%с%д", стр, &н); // принтф("Ваше име је %с и стари сте %д\н", стр, н);
Корак 5
Ставите податке у Ц стринг користећи једноставнију функцију „гетс()“, која чита податке из стандардног уноса само у стринг:
принтф("Унесите своје презиме: "); гетс (стр); принтф("Ваше име је %с\н", стр);
Корак 6
Прочитајте податке из датотеке у Ц стринг користећи „фсцанф()“; ова функција је аналогна "сцанф()":
ФИЛЕ* пФиле; пФиле = фопен("миФиле.ткт", "р"); // претпоставимо да датотека постоји и има податке иф (НУЛЛ != пФиле) { фсцанф (пФиле, "%с", стр); принтф("Прва реч у датотеци је %с\н", стр); фцлосе (пФиле); }
Корак 7
Поновите корак 5 користећи „фгетс()“ који ради исто као и „гетс()“:
ФИЛЕ* пФиле; пФиле = фопен("миФиле.ткт", "р"); иф (НУЛЛ != пФиле) { фгетс (пФиле, стр); принтф("Прва реч у датотеци је %с\н", стр); фцлосе (пФиле); }
Ствари које ће вам требати
Ц/Ц++ ИДЕ или Ц компајлер
Књига о Ц-у, као што је „Програмски језик Ц“ од Брајана В. Кернигхан
Савет
Да бисте сазнали више о поменутим функцијама, посетите веб локацију Ц Плус Плус.
Упозорење
Не покушавајте да компајлирате овај код. Намењен је само да демонстрира функције. То није кохерентан програм и даће грешке када се компајлира.