C++ Char Data Type med eksempler

โšก Smart oppsummering

Datatypen char i C++ lagrer et enkelt tegn, for eksempel en bokstav eller et siffer, ved hjelp av ASCII-verdien. Her lรฆrer du รฅ deklarere tegn, skrive ut ASCII-verdier, legge inn tegn og konvertere et tegn til en streng.

  • ๐Ÿ”ค Hva det er: Et tegn lagrer et enkelt tegn ved hjelp av ASCII-verdien.
  • ๐Ÿ”ข ASCII: Hvert tegn tilordnes en numerisk ASCII-kode, slik som ยซAยป er 65.
  • ๐Ÿ”ง Erklรฆring: Deklarer et tegn med enkle anfรธrselstegn, som char grade = 'A';.
  • ๐Ÿ” Konvertering: Cast et tegn til int for dens ASCII-verdi, og tilbake igjen.
  • ๐Ÿค– AI-hjelp: AI-verktรธy som GitHub Copilot hรฅndterer tegn- og ASCII-kode umiddelbart.

C++ Char Data Type

Hva er Char?

Char er en C++ datatype designet for lagring av brev. Char er en forkortelse for et alfanumerisk tegn. Det er en integrert datatype, noe som betyr at verdien er lagret som et heltall. Et tegn tar en minnestรธrrelse pรฅ 1 byte. Den lagrer ogsรฅ et enkelt tegn.

Hva er ASCII?

Tegnverdien tolkes som et ASCII-tegn. Dette ligner pรฅ hvordan boolske verdier tolkes som sanne eller usanne. ASCII er et akronym for American Standard (amerikansk standard). Code for informasjonsutveksling. Den definerer en spesifikk mรฅte รฅ representere engelske tegn som tall pรฅ.

Tallene varierer mellom 0 og 127. For eksempel tilsvarer tegnet 'a' ASCII-kode 97.

Rรธyeerklรฆring

ร… erklรฆre en char variabel i C++, bruker vi nรธkkelordet char. Dette skal fรธlges av navnet pรฅ variabelen. Variabelen kan initialiseres pรฅ tidspunktet for erklรฆringen. Verdien av variabelen skal vรฆre omsluttet av enkle anfรธrselstegn.

syntax

Her er syntaksen for char-deklarasjon i C++:

char variable-name;

Variabelnavnet er navnet som skal tildeles variabelen.

Hvis en verdi skal tildeles ved erklรฆringen, kan du bruke denne syntaksen:

char variable-name = 'value';	
  • Variabelnavnet er navnet pรฅ char-variabelen.
  • Verdien er verdien som skal tilordnes char-variabelen.

Eksempel 1:

#include <iostream>
using namespace std;
int main() {
	char grade = 'B';
	cout << "I scored a: "<<grade;
	return 0;
}

Utgang:

Rรธyeerklรฆring

Her er et skjermbilde av koden:

Rรธyeerklรฆring

Code Forklaring:

  1. Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluderer std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  3. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  4. Deklarer en tegnvariabel kalt karakter. Variabelen har ogsรฅ blitt tildelt en verdi pรฅ B. Legg merke til at verdien til variabelen er omsluttet av enkle anfรธrselstegn.
  5. Skriv ut verdien av den variable karakteren sammen med annen tekst pรฅ konsollen.
  6. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  7. Slutten av hoveddelen av hoved()-funksjonen.

Skriver ut ASCII-verdi

Som nevnt ovenfor tolkes hvert tegn som ASCII-tegn. Det er mulig for deg รฅ fรฅ ASCII-verdien til et hvilket som helst tegn. Du sender ganske enkelt tegnet til int()-funksjonen. Denne prosessen kalles typestรธping. La oss demonstrere dette:

Eksempel 2:

#include <iostream>
using namespace std;
int main() {
	char ch;
	cout << "Enter any character: ";
	cin >> ch;
	cout << "The ASCII Value of " << ch << " is " << int(ch);
	return 0;
}

Utgang:

Skriver ut ASCII-verdi

Her er et skjermbilde av koden:

Skriver ut ASCII-verdi

Code Forklaring:

  1. Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluderer std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  3. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  4. Deklarer en char-variabel kalt ch.
  5. Skriv ut litt tekst pรฅ konsollen. Teksten ber brukeren angi en verdi for variabelen kap.
  6. Les brukerinngangen fra tastaturet og lagre den i variabelen kap.
  7. Skriv ut litt tekst pรฅ konsollen. Teksten vil inkludere tegnet du skrev inn for variabel ch, ASCII-verdien til dette tegnet og annen tekst.
  8. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  9. Slutten av hoveddelen av hoved()-funksjonen.

Utskrift Char Verdi

Gitt en ASCII-verdi, er C++ kompilatoren kan returnere det tilsvarende tegnet. Du erklรฆrer en char-variabel og tildeler den en heltallsverdi. Den vil bli konvertert til den tilsvarende tegnverdien.

Eksempel 3:

#include <iostream>
using namespace std;
int main() {
	char x = 64, y = 66, z = 71;
	cout << x;
	cout << y;
	cout << z;
	return 0;
}

Utgang:

Utskrift Char Verdi

Her er et skjermbilde av koden:

Utskrift Char Verdi

Code Forklaring:

  1. Inkluderer iostream-headerfilen i koden. Vi vil da bruke funksjonene uten รฅ fรฅ feil.
  2. Inkluder std-navneomrรฅdet i koden. Vi vil bruke klassene uten รฅ ringe det.
  3. Kaller hoved()-funksjonen. Programlogikken skal gรฅ inn i hoveddelen av denne funksjonen.
  4. Deklarer tre char-variabler x, y og z. De tre har blitt tildelt heltallsverdier pรฅ 65, 66 og 67. Disse vil bli behandlet som ASCII-verdier for tegn.
  5. Skriv ut verdien av variabel x pรฅ konsollen. Siden x ble erklรฆrt som en char, vil char med ASCII-verdi pรฅ 65 bli returnert, det vil si A.
  6. Skriv ut verdien av variabel y pรฅ konsollen. Siden y ble erklรฆrt som en char, vil char med ASCII-verdi pรฅ 66 bli returnert, det vil si B.
  7. Skriv ut verdien av variabel z pรฅ konsollen. Siden z ble erklรฆrt som en char, vil char med ASCII-verdi pรฅ 67 bli returnert, det vil si C.
  8. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  9. Slutten av hoveddelen av hoved()-funksjonen.

Legge inn tegn

Vi kan bruke std::cin-funksjonen til รฅ lese et tegn som brukeren har skrevet inn via tastaturet. std::cin lar deg skrive inn mange tegn. Imidlertid kan tegnvariabelen bare inneholde ett tegn. Dette betyr at bare det fรธrste tegnet som skrives inn, vil bli lest.traclagret i tegnvariabelen. Resten vil forbli i bufferen som brukes av std::cin. For eksempeltract det, foreta pรฅfรธlgende kall til std::cin.

Eksempel 4:

#include <iostream>
using namespace std;
int main() {
	cout << "Type a sequence of characters: "; 
	char ch;
	cin >> ch; 
	cout <<"The ASCII code of "<< ch << " is "<< int(ch) << '\n';
	cin >> ch; 
	cout <<"The ASCII code of " << ch << " is "<< int(ch) << '\n';
	return 0;
}

Utgang:

Legge inn tegn

Her er et skjermbilde av koden:

Legge inn tegn

Code Forklaring:

  1. Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  3. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  4. Skriv ut litt tekst pรฅ konsollen.
  5. Erklรฆr en tegnvariabel kalt ch.
  6. Les brukerinndata fra tastaturet. Inndata vil bli lagret i variabelen kap. Siden en bruker vil skrive en tegnsekvens som abc, vil bare det fรธrste tegnet, a, bli lagret i variabel ch.
  7. Skriver ut det fรธrste tegnet, dets ASCII-kode og annen tekst pรฅ konsollen. ASCII-koden bestemmes ved รฅ sende tegnvariabelen til int()-funksjonen.
  8. Les neste tegn som ble skrevet inn av brukeren. Brukeren trenger ikke รฅ skrive inn et nytt tegn. Den vil i stedet lese det andre tegnet som ble skrevet inn, det vil si b.
  9. Skriver ut det andre tegnet, dets ASCII-kode og annen tekst pรฅ konsollen. ASCII-koden bestemmes ved รฅ sende tegnvariabelen til int()-funksjonen.
  10. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  11. Slutten av hoveddelen av hoved()-funksjonen.

Konvertering av tegn til streng

Det finnes en rekke mรฅter vi kan bruke for รฅ konvertere tegn til strenger.

La oss diskutere dem:

#1: Bruke konstruktรธr gitt av en strengklasse

Dette kan gjรธres ved รฅ bruke fรธlgende syntaks:

string st(int n,char x);

Parameteren n angir stรธrrelsen pรฅ strengen som skal genereres.

Parameteren x er tegnet som skal konverteres til en streng.

Funksjonen returnerer en streng.

Eksempel 5:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st(1, 'C');
	cout << "The resulting string is : " << st;
	return 0;
}

Utgang:

Konvertering av tegn til streng

Her er et skjermbilde av koden:

Konvertering av tegn til streng

Code Forklaring:

  1. Inkluderer iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
  3. Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  4. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  5. Konverter tegnet "C" til en streng med 1 lengde og tilordne den resulterende strengen til variabelen st.
  6. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst.
  7. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  8. Slutten av hoveddelen av hoved()-funksjonen.

#2) Bruke std::strengen Operators = og +=

Operatorene = og += er allerede overbelastet med tegn. De to kan brukes til รฅ konvertere et bestemt tegn til en streng.

Eksempel 6:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	char b = 'B';
	st = 'A';
	st += b;
	cout << "The resulting string is : " << st;
	return 0;
}

Utgang:

Konvertering av tegn til streng

Her er et skjermbilde av koden:

Konvertering av tegn til streng

Code Forklaring:

  1. Inkluder iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
  3. Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  4. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  5. Lag en strengvariabel kalt st.
  6. Lag et tegn kalt b med verdien B.
  7. Tilordne en verdi pรฅ A til strengen som heter st.
  8. Bruk +=-operatoren til รฅ konvertere tegn til en streng.
  9. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst.
  10. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  11. Slutten av hoveddelen av hoved()-funksjonen.

#3: Bruke std::string-metoder

Std::string-klassen kommer med mange overbelastede funksjoner som kan hjelpe deg med รฅ konvertere tegn til strenger.

De omfatter:

  • push_back Denne funksjonen tildeler et bestemt tegn til enden av en streng. Det er overbelastet for tegn. Det krever fรธlgende syntaks:
    void push_back(char ch)
    

    Parameteren ch er tegnet som skal endres til en streng.

  • fรธye Den tildeler mange kopier av et bestemt tegn til en streng. Funksjonen tar fรธlgende syntaks:
    string& append(size_t n,char ch)
    

    Parameteren n angir tidene som tegnet skal legges til.

    Parameteren ch er tegnet som skal legges til streng.

  • tildele Denne funksjonen erstatter gjeldende innhold i strengen med n kopier av det angitte tegnet. Den tar fรธlgende syntaks:
    string& assign(size_t n,char ch);

    Parameteren n angir det totale antallet kopier for tegnet.

    Parameteren ch er tegnet som skal kopieres inn i strengen.

  • Sett Sett inn-funksjonen setter inn n kopier av et tegn ved startposisjonen til strengen, som spesifisert i argumentene. Det tar fรธlgende syntaks:
    string& insert(size_t p,size_t n,char ch);

    P-parameteren angir posisjonen fra starten der tegn skal settes inn.

    Parameteren n angir det totale antallet kopier for tegnet.

    Parameteren ch er tegnet som skal settes inn i strengen.

Eksempel 7:

#include<iostream>
#include <string>
using namespace std;
int main() {
	string st;
	st.push_back('A');
	cout << "push_back A returns : " << st << endl;
	st = "";
	st.append(1, 'C');
	cout << "append C returns : " << st << endl;
	st = "";
	st.assign(1, 'D');
	cout << "assign D returns : " << st << endl;
	st.insert(0, 1, 'E');
	cout << "insert single character returns : " << st << endl;
	return 0;
}

Utgang:

Konvertering av tegn til streng

Her er et skjermbilde av koden:

Konvertering av tegn til streng

  1. Inkluder iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
  3. Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  4. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  5. Lag en strengvariabel kalt st.
  6. Tilordne tegnet A til slutten av strengen.
  7. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
  8. Sett verdien av strengen st til tom.
  9. Tilordne enkelttegn C til strengen som heter st.
  10. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
  11. Sett verdien av strengen st til tom.
  12. Erstatt innholdet for strengst med enkelttegn D.
  13. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
  14. Sett inn enkelttegn E i strengen som heter st fra den fรธrste indeksen.
  15. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
  16. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  17. Slutten av hoveddelen av hoved()-funksjonen.

#4: Bruker std::stringstream

For รฅ bruke denne klassen til รฅ konvertere tegn til en streng, sett inn tegnet i strรธmmen.

De vil bli skrevet til strengen.

Eksempel 8:

#include<iostream>
#include <string>
#include <sstream>

using namespace std;
int main() {

	string st;

	stringstream myst;

	myst << 'A'; 
	myst >> st;

	cout << "The conversion of the single character returns the string: " << st;

	return 0;
}

Utgang:

Konvertering av tegn til streng

Her er et skjermbilde av koden:

Konvertering av tegn til streng

Code Forklaring:

  1. Inkluder iostream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  2. Inkluder strengoverskriftsfilen i koden vรฅr for รฅ bruke funksjonene.
  3. Inkluder sstream-headerfilen i koden vรฅr for รฅ bruke funksjonene.
  4. Inkluder std-navneomrรฅdet i koden vรฅr for รฅ bruke klassene uten รฅ kalle det.
  5. Kaller hoved()-funksjonen. Programlogikken skal legges til i hoveddelen av denne funksjonen.
  6. Lag en strengvariabel kalt st.
  7. Lag en strรธmvariabel kalt myst.
  8. Sett inn karakteren A i strรธmobjektet myst.
  9. Konverter strรธmobjektet til en streng.
  10. Skriv ut verdien av strengen pรฅ konsollen ved siden av annen tekst. Endl (sluttlinje) flytter markรธren til neste linje.
  11. Programmet mรฅ returnere verdi ved vellykket gjennomfรธring.
  12. Slutten av hoveddelen av hoved()-funksjonen.

Spรธrsmรฅl og svar

Et tegn er en datatype som lagrer et enkelt tegn, for eksempel en bokstav, et siffer eller et symbol. Det opptar รฉn byte og inneholder tegnets ASCII-verdi internt.

ASCII er en standard som tilordner tegn til tall fra 0 til 127. I C++, lagrer hvert tegn sin ASCII-kode, sรฅ 'A' er 65 og 'a' er 97.

Deklarer et tegn ved รฅ bruke nรธkkelordet char og et enkelt tegn i enkle anfรธrselstegn, for eksempel char grade = 'A';. Enkle anfรธrselstegn er obligatoriske, ikke doble anfรธrselstegn.

Omformuler tegnet til et heltall, for eksempel int(ch) eller (int)ch, og skriv det ut. Dette viser den numeriske ASCII-koden i stedet for selve tegnet.

Bruk cin med eksentractionsoperatoren for รฅ lese et enkelt tegn, for eksempel cin etterfulgt av ch. Den lagrer det neste ikke-mellomromstegnet brukeren skriver inn.

Du kan tilordne et tegn til en std::string, bruke strengkonstruktรธren eller legge til den, for eksempel std::string s(1, ch); for รฅ lage en streng pรฅ ett tegn.

AI-assistenter som GitHub Copilot genererer tegn-til-ASCII-konverteringer, skriver tegninndatalรธkker og foreslรฅr rettelser for vanlige tegn- og strengfeil mens du skriver.

Ja. AI-drevne verktรธy genererer ASCII- og konverteringskode for store og smรฅ bokstaver, hรฅndterer tegn-til-streng-konverteringer og flagger feil som bruk av doble anfรธrselstegn for et enkelt tegn.

Oppsummer dette innlegget med: