Subscribe to jjl's Blog        RSS Feed

The third parameter of main

Icon Leave Comment
So in my systems class I learned about a third parameter of main, the environment parameter. I never knew this existed, usually you are only concerned with argc and argv. Anyways now that I know this exists, it answers a lot of questions that I had prior. I thought I would share, most of you probably already knew about this but oh well.

#include <stdio.h>

int main(int argc, char **argv, char **envp) {
      printf("%s\n", *envp++);
   return 0;

0 Comments On This Entry


Trackbacks for this entry [ Trackback URL ]

There are no Trackbacks for this entry

June 2018

17181920 21 2223

Recent Entries

Search My Blog

0 user(s) viewing

0 Guests
0 member(s)
0 anonymous member(s)


Never add '.' to your path :(

So today was bad ... I was working in an Ubuntu environment and I was sick of typing the prefix "./" in front of my program name to run it in the terminal. I decided that I would add "." to my end of my path, that way all system calls still had precedence and I didn't have to type the annoying "./" before my program name to run it.

Everything was perfect, I was living it up and saving valuable key strokes until unix took revenge. I decided to run the "
rm" program like so

rm -r *.

I needed to recursively remove all files from a directory, but since the "." was included in my path. "rm" also looked at the ".." folder, which then started removing files from all other places of my home directory :/ Luckily I had backed up my home folder not too long ago, but let this be a valuable lesson to all - don't include "." in your path.