Przykład (program cat)
#include <stdio.h> int main() { int a; while((a=getchar()) != EOF) putchar(a); return 0; }
Ćwiczenia
kopia
, która tworzy kopię łańcucha znaków. Funkcja przyjmuje dwa argumenty: tablicę znaków do skopiowanie oraz tablicę znaków do której napis zostanie skopiowany. Funkcja zwraca wskaźnik do skopiowanego napisu.malenaduze
, która dla podanej tablicy znaków zamieni wszystkie małe litery na duże. Funkcja zwraca wskaźnik na początek przetransformowanej tablicy.sklej
, której argumentami są dwie tablice ze znakami. Funkcja dokleja zawartość drugiej tablicy na końcu pierwszej (zakładamy, że ta tablica jest dostatecznie duża aby pomieścić oba napisy). Wartością zwracaną jest wskaźnik do tablicy zawierającej połączone napisy.porownaj("Ala ma kota","Ala ma kota")
zwraca 1, zaś
porownaj("Ala ma kota","ala ma kota")
zwraca wartość 0.
#include<stdio.h> #define MAX 1000 int main(int argc,char *argv[]) { int i=0; while(i< argc) { printf("argument %d ",i); printf(*(argv+i)); printf("\n"); i++; } return 0; }
Ćwiczenia
-h
wyświetla krótką pomoc wyjaśniającą obsługę programu, możliwe opcje oraz autora programu.-n liczba
wyświetla tabliczkę mnożenia z zakresu od 1 do podanej po argumencie -n
liczby calkowitej. Do zamiany łańcucha znakowego do postaci liczby całkowitej wykorzystaj funkcję atoi.grep.c
który wyświetla linie tekstu zawierające podany wzorzec. Argumentem programu jest szukany wzorzec (ciąg znaków). W przypadku gdy argument nie został podany lub gdy została podana opcja -h
program wyświetla krótką informację pomocniczą. Program czyta kolejne linie tekstu i wyświetla tylko te które zawierają wzorzec. grep.c
opcję -v
która powoduje, że program wyświetla wyłącznie linie nie zawierające wzorcagrep.c
opcję -i
która powoduje, że dopasowanie wzorca nie zwraca uwagi na wielkość liter, tzn. wzorzec „ala” jest równoważny „Ala”, „ALA”, „aLA”, itd.
W przypadku czytania ze standardowego wejścia (klawiatury) koniec pliku można wykryć za pomocą foef(stdin)
.
Funkcja feof()
dla podanego wskaźnika do pliku () zwraca wartość całkowitą 1 gdy dotarliśmy do końca pliku oraz wartość 0 gdy koniec pliku nie został osiągnięty.
Przykłady:
./grep -h Program grep wypisuje linie tekstu pasujace do wzorca. Uzycie: grep [-i] [-v] wzorzec ./grep wzorzec < plik_wejsiowy ./grep -v wzrzec < plik_wejsciowy ./grep -i wzorzec < plik ./grep -i -v wzorec < plik
-l
wyświetlana powinna być tylko liczba linii wczytanego tekstu. Z opcją -w
tylko liczba wyrazów a z opcją -z
tylko liczba znaków (zobacz program wc
w systemie UNIX/Linux). znajdz("Ala ma kota","kot")
zwraca adres znaku 'k' z napisu danego w pierwszym argumencie. Jeżeli podciąg B nie występuje w A to zwracana jest wartość NULL.