Advertisement
shiftry123

Laboratorium 2 Zadanie 1

Apr 2nd, 2017
102
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 2.07 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <assert.h>
  5. #include <ctype.h>
  6.  
  7. int main(int argc, char* argv[]) {
  8.     printf("Podaj swoje imie: ");
  9.     //tablica do przechowywania imienia
  10.     char name[10];
  11.     //pobieranie od uzytkownika jego imienia
  12.     fgets(name, sizeof(name), stdin);
  13.     //jesli jakis problem z pobieraniem, to uzytkownik jest gosciem
  14.     if (ferror(stdin)) {
  15.         name[0] = 'g';
  16.         name[1] = 'o';
  17.         name[2] = 's';
  18.         name[3] = 'c';
  19.         name[4] = '\0';
  20.     }
  21.     //powietanie zalogowanego uzytkownika
  22.     printf("Witaj %s", name);
  23.     //ciag znakow
  24.     char str[] = "A to moja ulubiona litera!";
  25.     //wypisanie ciagu znakow do kosnoli
  26.     puts(str);
  27.     //zamiana A w ciagu na G
  28.     memset(str, 'G', 1);
  29.     //wypisanie zamienionego ciagu do konsoli
  30.     puts(str);
  31.     //bufor znakow
  32.     char buffer[40];
  33.     //skopiowanie ciagu str do bufora
  34.     memcpy(buffer, str, strlen(str) + 1);
  35.     //wstawienie na koniec bufora znaku konca ciagu znakow
  36.     buffer[strlen(str) + 1] = '\0';
  37.     //wypisanie bufora do kosnoli
  38.     fputs(buffer, stdout);
  39.     //przejscie do nowej lini w konsoli
  40.     fputs("\n", stdout);
  41.     //kolejny ciag znakow
  42.     char str2[] = "to nie moja ulubiona litera!\0";
  43.     //skopiowanie czesci pamieci w ktorej jest tablica str2, do buffora
  44.     memmove(buffer + 2, str2, strlen(str2));
  45.     buffer[strlen(str2)+2] = '\0';
  46.     //wypisanie bufora na ekran
  47.     puts(buffer);
  48.     //drugi bufor
  49.     char buffer2[40];
  50.     //wstawienie od bufora ciagu znakow
  51.     sprintf_s(buffer2, "U to tez moja ulubiona litera!");
  52.     //wypisanie bufora do konsoli
  53.     puts(buffer2);
  54.     //jesli 7 nie jest liczba to program sie zatrzyma (ale jest wiec sie nie zatrzyma)
  55.     assert(isdigit('7')!=0);
  56.     //tablica do przechowania sciezki i nazwy jaka mozna nadac plikowi tymczasowemu
  57.     char tempname[L_tmpnam_s];
  58.     //wygenerowanie unikalnej nazwy pliku tymczasowemu
  59.     tmpnam_s(tempname);
  60.     //wypisanie tymczasowej nazwy pliku i sciezki na ekran
  61.     printf(tempname);
  62.     //skopiowanie tymczasowej nazwy
  63.     char *tempname_dup = _strdup(tempname);
  64.     //wypisanie kopii do konsoli
  65.     printf(tempname_dup);
  66.     //zwolnienie zaalokowanej pamieci
  67.     free(tempname_dup);
  68.  
  69.     return 0;
  70. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement