aboutsummaryrefslogtreecommitdiffstats
path: root/cap.c
diff options
context:
space:
mode:
authorEliteTK <tomasz.kramkowski@gmail.com>2014-11-13 19:14:43 +0000
committerEliteTK <tomasz.kramkowski@gmail.com>2014-11-13 19:14:43 +0000
commit046c70cd0a4106e9cce9e2faaa65bd71fa01eb15 (patch)
tree5b3656c71377a7c80fbbbca04d7dcd51a07f064d /cap.c
parentb59699746fd3afe2390aadbeaa2249a7b84d5cb8 (diff)
downloadc-stuff-046c70cd0a4106e9cce9e2faaa65bd71fa01eb15.tar.gz
c-stuff-046c70cd0a4106e9cce9e2faaa65bd71fa01eb15.tar.xz
c-stuff-046c70cd0a4106e9cce9e2faaa65bd71fa01eb15.zip
cap.c: new; casting.c: more tests
Diffstat (limited to 'cap.c')
-rw-r--r--cap.c33
1 files changed, 33 insertions, 0 deletions
diff --git a/cap.c b/cap.c
new file mode 100644
index 0000000..d985e91
--- /dev/null
+++ b/cap.c
@@ -0,0 +1,33 @@
+/*
+ * Copyright (C) 2014 Tomasz Kramkowski <tk@the-tk.com>
+ *
+ * This program is free software. It is licensed under version 3 of the
+ * GNU General Public License.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see [http://www.gnu.org/licenses/].
+ */
+#include <stdio.h>
+#include <string.h>
+#include <stdbool.h>
+#include <ctype.h>
+
+char *capitalise(char *string)
+{
+ bool last_sep = true; /* Nothing is a separator too. */
+ for (int i = 0; i < strlen(string); i++) {
+ if (isalpha(string[i])) {
+ string[i] = last_sep ? toupper(string[i]) : tolower(string[i]);
+ last_sep = false;
+ } else
+ last_sep = true;
+ }
+ return string;
+}
+
+int main(void)
+{
+ char string[] = "thIs iS MEANT to Be some Kind OF tEsT strinG?\n";
+ printf(capitalise(string));
+ return true;
+}