Како користити Итоа функцију у Ц

Kako Koristiti Itoa Funkciju U C



Програмски језик Ц је покренут пре више од пет деценија. Од тада је стекао огромну популарност у свету програмирања. Истиче друге језике због својих карактеристика укључујући структурну једноставност, функције, преносивост, ефикасно управљање меморијом, итд. Упркос разним другим карактеристикама, функције у Ц-у су најистакнутија средства која помажу многим корисницима у писању робусних исечака кода.

Штавише, итоа је широко коришћена нестандардна функција која делује као претварач типа података. Узима тип података инт као улаз и претвара га у стринг. Међутим, многи од вас не знају његову употребу. Стога, овај водич сажето објашњава како да користите функцију итоа у Ц-у без муке.







Како користити функцију Итоа у Ц

Почнимо са основама. Ево једноставне синтаксе за функцију итоа:



инт главни ( ) {

инт на једном = 12345 ;
цхар стр [ двадесет ] ;
удављен ( на једном , стр , 10 ) ;
принтф ( „Цео број: %д Стринг: %с ' , на једном , стр ) ;
повратак 0 ;


}

У датом програму детаљи су следећи:



  1. нум је цео број
  2. стр је карактер
  3. 10 је бас

Сада, идемо напред, напишемо програм и применимо итоа функцију. На пример, треба да напишемо програм за промену унетих бројева у стринг.





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

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

празнина удављен ( инт на једном , цхар * стр , инт база ) {

инт и = 0 ;
инт исНегативе = 0 ;

ако ( на једном == 0 ) {
стр [ и ++ ] = '0' ;
стр [ и ] = ' \0 ' ;
повратак ;
}


ако ( на једном < 0 && база != 10 ) {

исНегативе = 1 ;
на једном = - на једном ;
}

док ( на једном != 0 ) {
инт рем = на једном % база ;

стр [ и ++ ] = ( рем > 9 ) ? ( рем - 10 ) + 'а' : рем + '0' ;

на једном = на једном / база ;
}

ако ( исНегативе && база == 10 )
стр [ и ++ ] = '-' ;

стр [ и ] = ' \0 ' ;

инт почетак = 0 ;
инт крај = и - 1 ;


док ( почетак < крај ) {

цхар темп = стр [ почетак ] ;
стр [ почетак ] = стр [ крај ] ;
стр [ крај ] = темп ;
почетак ++;
крај --;
}
}

инт главни ( ) {
инт на једном ;
принтф ( 'Унесите цео број: ' ) ;

ако ( сцанф ( '%д' , & на једном ) != 1 ) {
фпринтф ( стдерр , „Неважећи унос. Унесите цео број. ' ) ;
повратак ЕКСИТ_ФАИЛУРЕ ;
}

инт мак_сизе = снпринтф ( НУЛА , 0 , '%д' , на једном ) + 1 ;
цхар * стр = ( цхар * ) маллоц ( мак_сизе ) ;

ако ( стр == НУЛА ) {
фпринтф ( стдерр , „Додела меморије није успела ' ) ;
повратак ЕКСИТ_ФАИЛУРЕ ;
}


удављен ( на једном , стр , 10 ) ;

принтф ( „Цео број: %д Стринг: %с ' , на једном , стр ) ;

бесплатно ( стр ) ;

повратак 0 ;


}

У претходном програму, итоа (инт нум, цхар *стр, инт басе) је функција итоа. Штавише, следећа синтакса директно додељује нулу резултату када је улазни број такође нула:

ако ( на једном == 0 ) {

стр [ и ++ ] = '0' ;
стр [ и ] = ' \0 ' ;
повратак ;


}

Када је улазни број негативан, а база такође није 10, следеће програмске линије ће поставити негативну заставицу:



ако ( на једном < 0 && база != 10 ) {

исНегативе = 1 ;
на једном = - на једном ;

Следећа петља обрађује све цифре и конвертује их у одговарајући знак. Дакле, за базе које су веће од 10, програм користи слова „а“ до „ф“ за цифре од 10 до 15.

}

док ( на једном != 0 ) {

инт рем = на једном % база ;

стр [ и ++ ] = ( рем > 9 ) ? ( рем - 10 ) + 'а' : рем + '0' ;

на једном = на једном / база ;

}

Када је број првобитно негативан, а основа 10, програм ће додати негативни предзнак низу резултата.

ако ( исНегативе && база == 10 )

стр [ и ++ ] = '-' ;

Следећи редови завршавају низ резултата и затим га преокрећу док се цифре добијају обрнутим редоследом током процеса конверзије:

стр [ и ] = ' \0 ' ;

// Обрнути низ

инт почетак = 0 ;

инт крај = и - 1 ;

док ( почетак < крај ) {

цхар темп = стр [ почетак ] ;
стр [ почетак ] = стр [ крај ] ;
стр [ крај ] = темп ;
почетак ++;
крај --;


}

Дакле, програм узима цео број као улаз и додељује меморију за приказ стрингова. Након тога, позива итоа да конвертује цео број у стринг и штампа оригинални цео број. Коначно, ослобађа додељену меморију. На пример, дајмо број програму:

Међутим, ако унесете нецео број, програм ће показати следећи резултат:

Закључак

Овако можете лако да имплементирате и користите функцију итоа у Ц. Користили смо детаљан пример који садржи више функција за претварање целог броја у стринг. Запамтите, то је само пример, али можете комбиновати функцију итоа са различитим функцијама да бисте писали невероватне програме.