Character Arrays
eharetea

String functions in C involving arrays of characters.

Functions with character arrays in C.

Date Created:Friday May 11th, 2007 01:02 PM
Date Modified:Sunday August 03rd, 2008 12:42 PM


#include <stdio.h>
#include "chars.h"

int main() {
    char name[4];
    char  filename="data.c";
    int n;
    n=4;
    while ( menunamefilename,&n)==) ;

    return 0;
}





/*
* Author: Dan Lynch
*/

#include <string.h>
#include <stdlib.h>

void enternameschar ** xint n) {
    int iint size;
    char ch[21];
    for (i=0i<ni++) {
        printf("Enter Name %d>",i+1);
        scanf("%s",ch);
        size=strlench ) ;
        /*Add backslash 0*/
        ch[size+1]='\0';    
        x[i]=malloc((strlen(ch)+1)*sizeof(char));
        strcpy(x[i], ch);
    }
    printf("Data has been entered successfully.\n");
}

void searchnamechar ** xint n) {
    int i;
    char  q[20];
    printf("Type a word to search in the array:");
    scanf("%s",q);
    for (i=0i<ni++)
        if (!strcmp(x[i],q)) printf("Match in element x[%d]!\n",i);
        else printf("No match for %s\n",x[i]);
}

void sortnameschar ** xint n) {
    int jint k;
    char temp; 
    for ( n-j++)
        for (j+k++)
            if ( strcmpx[j], x[k] ) > ) 
                {temp=x[j]; x[j]=x[k]; x[k]=temp;}
    printf("Data has been sorted successfully.\n");
}

void printnameschar ** xint n) {
    int i; 
    for (i=0i<ni++)
        printf"%s\n"x[i] );
    printf("\n");
}

void readfilechar filenamechar ** xint n)
{
    FILE data;
    char  temp[30];
    int i=0;int d;
    data fopen filename"r" );
    if ( data != NULL ) {
        do {
            fscanf(data"%s", &temp);
            /*Add backslash 0*/
            d=strlentemp ) ;
            temp[d+1]='\0';    
            x[i] = malloc( ( strlentemp ) + ) * sizeof(char) );
            strcpyx[i++] , temp );
        } while ( (!feof(data)) && (< (*n-1) ));
        *n=i/* changed size of array */
        printf("Data has been read successfully.\n");
    } else { printf("Trouble with data!\n"); }
}

int menu(char ** namechar filenameint n) {
    char ch;

    printf("\nWould you like to:\n\n");
    printf("(R)ead data from a file\n");
    printf("(E)nter data from terminal\n");
    printf("(S)earch for keyword in the data\n");
    printf("(P)rint the data\n");
    printf("(O)rder the data alphabetically\n");
    printf("E (X) I T\n");

    fflush(stdout);
    scanf(" %c",&ch);
    
    if ( ch == 'R' ) {readfilefilenamename);system("sleep 1");return 1;}  
    if ( ch == 'E' ) {enternamesname, *);system("sleep 1");return 1;}
    if ( ch == 'S' ) {searchnamename, *);system("sleep 1");return 1;}
    if ( ch == 'P' ) {printnamesname, *);system("sleep 1");return 1;}
    if ( ch == 'O' ) {sortnames name, *);system("sleep 1");return 1;}
    if ( ch == 'X' ) return 0;

    return 0;
}





Downloads:
Download: chars.h 2 KB
Download: main.c 180 B

Please login or Click Here to register for downloads
Creative Commons License
Character Arrays by Dan Lynch
is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License
Based on a work at www.3daet.com
Permissions beyond the scope of this license may be available at http://www.3daet.com