From ea628b4d207f9ffd5bdd8b4bf6d4378b46268b98 Mon Sep 17 00:00:00 2001 From: Atanas Filipov Date: Sun, 8 Jul 2018 17:52:05 +0300 Subject: Initial commit --- run/demo_charfreq.c | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++ run/demo_strcat.c | 45 ++++++++++++++++++++++++++++++++++++++++++ run/demo_strchr.c | 45 ++++++++++++++++++++++++++++++++++++++++++ run/demo_strcmp.c | 48 ++++++++++++++++++++++++++++++++++++++++++++ run/demo_strcpy.c | 45 ++++++++++++++++++++++++++++++++++++++++++ run/demo_strlen.c | 44 +++++++++++++++++++++++++++++++++++++++++ run/demo_strncat.c | 45 ++++++++++++++++++++++++++++++++++++++++++ run/demo_strncmp.c | 48 ++++++++++++++++++++++++++++++++++++++++++++ run/demo_strncpy.c | 45 ++++++++++++++++++++++++++++++++++++++++++ run/demo_strrchr.c | 45 ++++++++++++++++++++++++++++++++++++++++++ run/demo_strstr.c | 44 +++++++++++++++++++++++++++++++++++++++++ 11 files changed, 511 insertions(+) create mode 100644 run/demo_charfreq.c create mode 100644 run/demo_strcat.c create mode 100644 run/demo_strchr.c create mode 100644 run/demo_strcmp.c create mode 100644 run/demo_strcpy.c create mode 100644 run/demo_strlen.c create mode 100644 run/demo_strncat.c create mode 100644 run/demo_strncmp.c create mode 100644 run/demo_strncpy.c create mode 100644 run/demo_strrchr.c create mode 100644 run/demo_strstr.c (limited to 'run') diff --git a/run/demo_charfreq.c b/run/demo_charfreq.c new file mode 100644 index 0000000..b48f52e --- /dev/null +++ b/run/demo_charfreq.c @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + char ch; + char *ptr = argv[1]; + int frequency = 0; + + if (argc == 3) { + + ch = *(argv[2]); + + while (*ptr != '\0') { + if(ch == *ptr++) { + ++frequency; + } + } + printf("Frequency of '%c' is %d\n", ch, frequency); + + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strcat.c b/run/demo_strcat.c new file mode 100644 index 0000000..96dda1d --- /dev/null +++ b/run/demo_strcat.c @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + strcat(argv[1], argv[2]); + printf("Output string after concatenation: %s\n", argv[1]); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strchr.c b/run/demo_strchr.c new file mode 100644 index 0000000..69f6e12 --- /dev/null +++ b/run/demo_strchr.c @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + char c = *(argv[2]); + printf("Found char: %s %s\n", argv[1], strchr(argv[1], c)); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strcmp.c b/run/demo_strcmp.c new file mode 100644 index 0000000..cf9677d --- /dev/null +++ b/run/demo_strcmp.c @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + if (strcmp(argv[1], argv[2]) == 0) { + printf("string 1 and string 2 are equal\n"); + } else { + printf("string 1 and 2 are different\n"); + } + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strcpy.c b/run/demo_strcpy.c new file mode 100644 index 0000000..23c5326 --- /dev/null +++ b/run/demo_strcpy.c @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + strcpy(argv[1], argv[2]); + printf("Output string after copy: %s\n", argv[1]); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strlen.c b/run/demo_strlen.c new file mode 100644 index 0000000..7ec8a8b --- /dev/null +++ b/run/demo_strlen.c @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc > 1) { + printf("Length of string '%s' is: %d\n", argv[1], strlen(argv[1])); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strncat.c b/run/demo_strncat.c new file mode 100644 index 0000000..ed51c97 --- /dev/null +++ b/run/demo_strncat.c @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + strncat(argv[1], argv[2], 4); + printf("Output string after concatenation[4]: %s\n", argv[1]); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strncmp.c b/run/demo_strncmp.c new file mode 100644 index 0000000..820157a --- /dev/null +++ b/run/demo_strncmp.c @@ -0,0 +1,48 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + if (strncmp(argv[1], argv[2], 8) == 0) { + printf("string 1 and string 2 are equal\n"); + } else { + printf("string 1 and 2 are different\n"); + } + } else { + printf("Usage exmaple: demo_strlen BeginnersBook BeginnersBook.COM\n"); + } + + return 0; +} diff --git a/run/demo_strncpy.c b/run/demo_strncpy.c new file mode 100644 index 0000000..f9351e8 --- /dev/null +++ b/run/demo_strncpy.c @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + strncpy(argv[1], argv[2], 4); + printf("Output string after copy[4]: %s\n", argv[1]); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strrchr.c b/run/demo_strrchr.c new file mode 100644 index 0000000..8a559b1 --- /dev/null +++ b/run/demo_strrchr.c @@ -0,0 +1,45 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + char c = *(argv[2]); + printf("Found char: %s %s\n", argv[1], strrchr(argv[1], c)); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} diff --git a/run/demo_strstr.c b/run/demo_strstr.c new file mode 100644 index 0000000..6a70b55 --- /dev/null +++ b/run/demo_strstr.c @@ -0,0 +1,44 @@ +/** + * Copyright (c) 2018, LopeDeVega Research group. All rights reserved. + * + * Authors: + * Atanas Filipov, it.feel.filipov@gmail.com + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#include +#include + +int main(int argc, char *argv[]) +{ + if (argc == 3) { + printf("Found string: %s\n", strstr(argv[1], argv[2])); + } else { + printf("Usage: demo_strlen \n"); + } + + return 0; +} -- cgit v1.2.3