well when you open a file you just give it argument of file path name in the form of a character string and a flag for truncate, append, create. returned you get a file descripter and you can do anything you like with it. File descripters remember their place in the file but there is a call lseek you can use to jump around to positions off_t offset from the beginning if you like.
you mention editor.
editors can use a variety of wrapped methods like from a toolkit or something to access a file or can use syscalls directly.