diff options
author | EliteTK <tomasz.kramkowski@gmail.com> | 2014-11-13 19:14:43 +0000 |
---|---|---|
committer | EliteTK <tomasz.kramkowski@gmail.com> | 2014-11-13 19:14:43 +0000 |
commit | 046c70cd0a4106e9cce9e2faaa65bd71fa01eb15 (patch) | |
tree | 5b3656c71377a7c80fbbbca04d7dcd51a07f064d /cap.c | |
parent | b59699746fd3afe2390aadbeaa2249a7b84d5cb8 (diff) | |
download | c-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.c | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -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; +} |