fork download
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3.  
  4. /* ************************************************************************ */
  5. /* Function prototypes */
  6. /* ************************************************************************ */
  7.  
  8. int strLength();
  9. int strMirror();
  10. int strSearch();
  11. int strReplace();
  12. int strSubstr();
  13.  
  14. /* ************************************************************************ */
  15. /* Main function */
  16. /* ************************************************************************ */
  17.  
  18. int main()
  19. {
  20.  
  21. int length=0, searchPos = 0;
  22.  
  23. char string[] = "ABC Was ich geht hier ab, wie werden wir das machen? Aber ich werde, ich werd gehen, ich werde machen, ich werde tun...";
  24. // char string[] = "Thats a string to use for all the functions. The whole. The most. ";
  25. char searchString[] = "ich";
  26. char targetString[115] = {0};
  27.  
  28. printf("\n\tOriginal string:\n\t%s\n", string);
  29. printf("\n\tSearchstring:\n\t%s\n", searchString);
  30.  
  31. length = strLength(string);
  32. printf("Length: %d\n", length);
  33.  
  34. printf("Mirror count: %d\n", strMirror(targetString, length, string));
  35.  
  36. strSearch(string, length, searchString);
  37.  
  38. // searchPos = strSearch(string, length, sStr);
  39. //printf("Position: %d\n", searchPos);
  40.  
  41. return 0;
  42. }
  43.  
  44. /* ************************************************************************ */
  45. /* Functions */
  46. /* ************************************************************************ */
  47.  
  48. /* Function: enterPositiveNumber() */
  49.  
  50. int mixedSortDesc(int *mixedArrayDesc)
  51. {
  52.  
  53. }
  54.  
  55. /* Function: strLength() */
  56.  
  57. // Die Funktion strLength soll die Länge einer Zeichenkette, die als Parameter übergeben wurde ermitteln.
  58. // src Zeichenkette
  59. // Rückgabewert: Länge der Zeichenkette src wenn erfolgreich, sonst -1
  60.  
  61. int strLength(const char string[])
  62. {
  63. int i=0, length=0;
  64.  
  65. for(i=0; string[i] != 0; i++)
  66. {
  67. length++;
  68. }
  69.  
  70. return length;
  71. }
  72.  
  73. /* Function: strMirror() */
  74.  
  75. // Die Funktion strMirror() soll eine übergebene Zeichenkette spiegeln, d.h. die Zeichenreihenfolge umdrehen.
  76. // dStr destination string
  77. // dStrSize maximale Länge des Zielstrings
  78. // sourceStr source string
  79. // Rückgabewert: Anzahl der gespiegelten Zeichen, wenn erfolgreich, sonst 0
  80.  
  81. int strMirror(char dStr[], unsigned int dStrSize, const char sourceStr[])
  82. {
  83. int i=0, length=dStrSize-1, count=0;
  84.  
  85. for(i=0; i<dStrSize; i++)
  86. {
  87. dStr[length] = sourceStr[i];
  88. length--;
  89. count++;
  90. }
  91.  
  92. printf("sourceStr: %s\n", sourceStr);
  93.  
  94. return count;
  95. }
  96.  
  97. /* Function: strSearch() */
  98.  
  99. // strSearch() suchen einer Teilzeichenkette in einer anderen Zeichenkette. Die Funktion soll eine Teilzeichenkette in einer anderen Zeichenkette finden und die Position zurückgeben.
  100. // Str string in dem gesucht wird; maxSearch maximale Anzahl Zeichen in Str, in denen gesucht wird; sStr search string, Teilzeichenkette die gesucht werden soll
  101. // Rückgabewert: Der Rückgabewert entspricht der Startposition des ersten Auftretens von sStr in Str wenn erfolgreich; andernfalls -1
  102.  
  103. int strSearch(const char str[], unsigned int maxSearch, const char sStr[])
  104. {
  105. int i, j, check=0;
  106.  
  107. printf("MaxSearch: %d\n", maxSearch);
  108. printf("Position 0 from the search-string: %c\n", sStr[0]);
  109. printf("The search-string: %s\n", sStr);
  110.  
  111. // for(i=0; i<maxSearch; i++)
  112. // {
  113. // if(str[i] == sStr[0] && str[i] != '\0')
  114. // {
  115. // printf("Position des ersten übereinstimmenden Buchstaben: %d\n", i);
  116. // }
  117. // }
  118.  
  119.  
  120. // for(i=0; i<maxSearch; i++) // Erst wenn das erste Zeichen zusammenstimmt, dann erst restliche Buchstaben prüfen
  121. // {
  122. // if((str[i] != '\0') && (str[i] == sStr[0]))
  123. // {
  124. // for(j=1; sStr[j]!= '\0';j++) //strings werden üblicherweise mit '\\0' terminiert
  125. // {
  126. // if (str[i+j] == '\0') //fehlerfall: str zu kurz
  127. // {
  128. // printf("str zu kurz!");
  129. // return -1;
  130. // }
  131. // if (str[i+j] == sStr[j])
  132. // {
  133. // check=1;
  134. // }
  135. // else
  136. // {
  137. // check=0;
  138. // break;
  139. // }
  140. // }
  141. // if (check == 1) // Wenn Suchwort gefunden, dann melde die Position zurück, damit gibt die funktion die erste gefundene position des sstr zurück
  142. // {
  143. // return i;
  144. // }
  145. // }
  146. // }
  147. //
  148. // printf("sStr nicht gefunden!");
  149. // return -1; // wenn sstr nicht gefunden wurde
  150. }
  151.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
	Original string:
	ABC Was ich geht hier ab, wie werden wir das machen? Aber ich werde, ich werd gehen, ich werde machen, ich werde tun...

	Searchstring:
	ich
Length: 119
sourceStr: ABC Was ich geht hier ab, wie werden wir das machen? Aber ich werde, ich werd gehen, ich werde machen, ich werde tun...
Mirror count: 119
MaxSearch: 119
Position 0 from the search-string: i
The search-string: ich