Програмски језик Ц је покренут пре више од пет деценија. Од тада је стекао огромну популарност у свету програмирања. Истиче друге језике због својих карактеристика укључујући структурну једноставност, функције, преносивост, ефикасно управљање меморијом, итд. Упркос разним другим карактеристикама, функције у Ц-у су најистакнутија средства која помажу многим корисницима у писању робусних исечака кода.
Штавише, итоа је широко коришћена нестандардна функција која делује као претварач типа података. Узима тип података инт као улаз и претвара га у стринг. Међутим, многи од вас не знају његову употребу. Стога, овај водич сажето објашњава како да користите функцију итоа у Ц-у без муке.
Како користити функцију Итоа у Ц
Почнимо са основама. Ево једноставне синтаксе за функцију итоа:
инт главни ( ) {
инт на једном = 12345 ;
цхар стр [ двадесет ] ;
удављен ( на једном , стр , 10 ) ;
принтф ( „Цео број: %д \н Стринг: %с \н ' , на једном , стр ) ;
повратак 0 ;
}
У датом програму детаљи су следећи:
- нум је цео број
- стр је карактер
- 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 ;
док ( почетак < крај ) {
цхар темп = стр [ почетак ] ;
стр [ почетак ] = стр [ крај ] ;
стр [ крај ] = темп ;
почетак ++;
крај --;
}
Дакле, програм узима цео број као улаз и додељује меморију за приказ стрингова. Након тога, позива итоа да конвертује цео број у стринг и штампа оригинални цео број. Коначно, ослобађа додељену меморију. На пример, дајмо број програму:
Међутим, ако унесете нецео број, програм ће показати следећи резултат:
Закључак
Овако можете лако да имплементирате и користите функцију итоа у Ц. Користили смо детаљан пример који садржи више функција за претварање целог броја у стринг. Запамтите, то је само пример, али можете комбиновати функцију итоа са различитим функцијама да бисте писали невероватне програме.