Witam
Prosiłbym o pomoc w zrozumieniu kodu, ponieważ jestem kompletenie zielony co jak i gdzie.... Dodam, że jestem początkującym.
Z góry dzięki za pomoc.
#include <cstdio>
#include <windows.h>
#include <clocale>
#include <string>
#include <iostream>
//********* Forward declarations **********
void SetCP1250();
//********* Routines **********
void PrintString(char aString[])
{
printf("%s\n", aString);
}
//************************ Funkcja GetString ***********************
//Przeznaczenie: Wyświetla użytkownikowi zaproszenie i pobiera jego odpowiedź
//Parametry:
// aOutputStr - adres bufora, do którego funkcja wpisuje odpowiedź użytkownika
// aMaxStrLen - maksymalna długość odpowiedzi użytkownika (bez zera kończącego)
// jest równy wielkości bufora - 1
// aMsgStr - tekst zaproszenia wyświetlanego użytkownikowi,
// jeżeli w wywołaniu nie podano wartości tego parametru,
// funkcja wyświetla zaproszenie standardowe "Wpisz łańcuch: "
//Wartość zwracana: brak
void GetString(char aOutputStr[], unsigned int aMaxStrLen, const char aMsgStr[] = NULL)
{
if(aMsgStr == NULL)
printf("Wpisz łańcuch: ");
else
printf("%s", aMsgStr);
fgets(aOutputStr, aMaxStrLen+1, stdin);
}
//********* Main program **********
int main()
{
char myString[256];
SetCP1250();
//Pierwszy sposób korzystania z funkcji GetString
// - wykorzystywana jest domyślna wartość parametru aMsgStr
GetString(myString, 255);
PrintString(myString);
//Drugi sposób korzystania z funkcji GetString
// - wykorzystywana jest wartość parametru aMsgStr podana w miejscu wywołania funkcji
GetString(myString, 255, "Wpisz cokolwiek: ");
PrintString(myString);
printf("Długość łańcucha \"%s\" wynosi %d\n", myString, strlen(myString));
return 0;
}
void SetCP1250()
{
SetConsoleCP(1250);
SetConsoleOutputCP(1250);
setlocale(LC_ALL, "1250");
}