Strings in C

Programmieren mit Strings in C



Um in C mit Strings arbeiten zu können, muss entweder ein Feld von >>char<< angelegt werden oder ein Zeiger auf eine Zeichenkette gesetzt werden.

// prog1.c
// Anlegen von Zeichenketten
 
#include <stdio.h>
#include <string.h>
 
 
int main( )
{
	// Zeiger auf Hallo
	char *zeichenkette = "Hallo";
	printf("%s", zeichenkette); // Gesamte Zeichenkette ausgeben = Hallo
	printf("%c", zeichenkette[0]); // Erstes Zeichen der Kette ausgeben = H
 
	// Speicherung im Array, durch fest angegebene größe 
	char arrZeichenkette1[6] = "Hallo";
	printf("%s", arrZeichenkette1);
	printf("%c", arrZeichenkette1[1]); // Zweites Zeichen der Kette ausgeben = a
 
	// Speicherung im Array, größe wird hier dynamisch der Zeichenanzahl angelegt
	char arrZeichenkette2[] = "Hallo";
	printf("%s", arrZeichenkette2);
	printf("%c", arrZeichenkette2[2]); // Drittes Zeichen der Kette ausgeben = l
 
 
	return 0;
}
 
// prog2.c
// Zeichenkette Rückwärts ausgeben
 
#include <stdio.h>
#include <string.h>
 
 
int main( int argc, char *argv[] )
{
	// Zeiger auf Ende der Zeichenkette setzen
	char *c = argv[1] + sizeof(char)*strlen(argv[1]);
 
	// Ausgabe der Zeichen durch erniedrigen des Zeigers bei jedem Durchlauf
	int i = strlen(argv[1]);
	for(i; i>0; i--)
		printf("%c", *(--c) ); // *(--c) Zeiger eins nach vorne und aktuelles char ausgeben
 
	return 0;
}
 
 
 
/*
Eingabe:
./prog1 Hallo
 
Ausgabe:
ollaH
*/