Strings and Characters

CHRPAK is a C library which can handle characters and strings.

CHRPAK began when I simply wanted to be able to capitalize a string. Now it has expanded to a number of interesting uses. Many unusual situations are provided for, including

Many of the routine names begin with the name of the data type they operate on:


The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.


CHRPAK is available in a C version and a C++ version and a FORTRAN77 version and a FORTRAN90 version and a MATLAB version and a Python version.

Related Software and Data:

CAESAR, a C library which can apply a Caesar Shift Cipher to a string of text.

ROT13, a C program which makes a copy of a file which has been encoded using the ROT13 coding, and a ROT5 coding for digits.


  1. Carl Branden, John Tooze,
    Introduction to Protein Structure,
    Second Edition,
    Garland Publishing, 1999,
    ISBN: 0815323050,
    LC: QP551.B7635.
  2. Paul Bratley, Bennett Fox, Linus Schrage,
    A Guide to Simulation,
    Second Edition,
    Springer, 1987,
    ISBN: 0387964673,
    LC: QA76.9.C65.B73.
  3. IEEE Standards Committee 754,
    IEEE Standard for Binary Floating Point Arithmetic,
    ANSI/IEEE Standard 754-1985,
    SIGPLAN Notices,
    Volume 22, Number 2, 1987, pages 9-25.
  4. Donald Knuth,
    The Art of Computer Programming,
    Volume 3, Sorting and Searching,
    Second Edition,
    Addison Wesley, 1998,
    ISBN: 0201896850,
    LC: QA76.6.K64.
  5. Albert Nijenhuis, Herbert Wilf,
    Combinatorial Algorithms for Computers and Calculators,
    Academic Press, 1978,
    ISBN: 0-12-519260-6,
    LC: QA164.N54.

Source Code:

Examples and Tests:

List of Routines:

You can go up one level to the C source codes.

Last revised on 21 January 2014.