citrin / libcs50

CS50 Library for C

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CS50 Library for C

Build Status

Development

make: builds dynamic library

make deb: builds source deb

make hack: combines library into cs50.h

make install: installs the library under /usr/local by default (set DESTDIR to change that)

Installation

Ubuntu

sudo apt-get install software-properties-common whiptail
sudo apt-add-repository ppa:cs50/ppa
sudo apt-get update
sudo apt-get install libcs50

From Source (Linux and Mac)

  1. Download the latest release per https://github.com/cs50/libcs50/releases
  2. Extract libcs50-*.*
  3. cd libcs50-*
  4. gem install asciidoctor, as needed

If on Mac:

  • make install

If on Linux:

  • make
  • sudo make install

By default, we install to /usr/local. If you'd like to change the installation location, run sudo DESTDIR=/path/to/install make install as desired.

Troubleshooting

  1. If, when compiling a program, you see /usr/bin/ld: cannot find -lcs50: Add export LIBRARY_PATH=/usr/local/lib to your .bashrc.
  2. If, when compiling a program, you see fatal error: 'cs50.h' file not found: Add export C_INCLUDE_PATH=/usr/local/include to your .bashrc.
  3. If, when executing a program, you see error while loading shared libraries: libcs50.so.8: cannot open shared object file: No such file or directory: Add export LD_LIBRARY_PATH=/usr/local/lib to your .bashrc.

Close and reopen any terminal windows.

Usage

Link with -lcs50.

#include <cs50.h>

...
char c = get_char("Prompt: ");
double d = get_double("Prompt: ");
float f = get_float("Prompt: ");
int i = get_int("Prompt: ");
long l = get_long("Prompt: ");
string s = get_string("Prompt: ");

// deprecated as of fall 2017
long long ll = get_long_long("Prompt: ");

Documentation

See man get_* and man eprintf after installation, or CS50 Reference!

TODO

  • Add tests.

Contributors

About

CS50 Library for C


Languages

Language:C 91.1%Language:Makefile 8.9%