Łańcuchy znaków. Inicjalizacja łańcucha znaków. Stała znakowa. Funkcje do wprowadzania i wyprowadzania znaków. Plik nagłówkowy string.h (cstring). Przykłady kodu w C/C++.
#include "stdafx.h"
#include <iostream>
#include <string>
/**
*
* Program Główny prezentujący funckje C++ wyprowadzania treści na wyjście konsoli.
* Program do wprowadzania mieszanych danych: liczby, znaki alfanumeryczne, lancuchy ze spacjami.
*
* @author Marcin Mirończuk
*
*/
int main()
{
using namespace std;
// Tablica przechowujaca imiona
char imiona[50];
// Tablica przechowujaca nazwiska
char nazwiska[50];
// Tablica przechowujaca polaczenie Imienia i nazwiska
char nazwisko[100];
// Zmienna przechowujaca podana przez uzytkownika ocene
int ocena;
// Zmienna przechowujaca wiek uzytkownika
int wiek;
// Zmienna przechowujaca rok rozpoczecia studiow
int rozpoczecieStudiow;
std::cout << "Kiedy rozpoczeles/rozpoczelas studia? ";
std::cin >> rozpoczecieStudiow;
std::cin.get();
std::cout << "Jak masz na imie? ";
std::cin.getline(imiona, 50);
std::cout << "Jak sie nazywasz? ";
std::cin.getline(nazwiska, 50);
std::cout << "Na jaka ocene zaslugujesz? ";
std::cin >> ocena;
if(ocena > 6 || ocena < 2) {
std::cout << "Podales nieprawidlowa ocene \n";
std::cout << "Na jaka ocene zaslugujesz? ";
std::cin >> ocena;
}
std::cout << "Ile masz lat? ";
std::cin >> wiek;
// Funkcje strcpy(). strcat() nie chronia pamieci
// moze sie zdarzyc, ze kopia tablicy jest wieksza niz docelowa tablica
// W ogolnym przypadku rola programisty jest zabezpieczenie programu przed taka sytuacja.
strcpy(nazwisko, nazwiska);
strcat(nazwisko, ", ");
strcat(nazwisko, imiona);
std::cout << "Rok rozpoczecia studiow: " << rozpoczecieStudiow << std::endl;
std::cout << "Nazwisko: " << nazwisko << std::endl;
std::cout << "Ocena: " << ocena-1 << std::endl;
std::cout << "Wiek: " << wiek << std::endl;
std::cin.get();
std::cin.get();
return 0;
}