An 'easy' way to prove that epimorphism of sheaves implies surjectivity on stalks Consider sheaves of sets on a topological space $X$. A standard fact (and exercise) is the following equivalence for a morphism $\phi\colon \mathscr{F}\rightarrow \mathscr{G}$ of such sheaves:

(a) $\phi$ is an epimorphism in this category of sheaves
(b) The induced morphisms $\phi_x$ on stalks are surjective for all $x\in X$

I found it surprisingly hard to come up with an idea for a proof of (a)=>(b), though I think I managed to do it using an appropriate skyscraper sheaf and thus showing that the $\phi_x$ are epimorphisms too.
Since I found shorter proofs for the analogous statements for monomorphisms and injectivity, I was wondering if there was some elegant and at the same time 'elementary' way to do it. That is, I'd like to see where the surjectivity comes from.
I know there are short proofs using the fact that colimits commute with left adjoints, but I don't want to use that.
Examples for what I would like are usage of the product of all stalks, the fact that morphisms are equal if they agree on all stalks or something alike. I didn't have any idea up to now, though.
Thanks for any insight.
TL;DR: Is there an elegant proof for the equivalence not using adjoints?
 A: Eric's answer is very nice, but addresses the case when $\mathcal{F}$ and $\mathcal{G}$ are sheaves of abelian groups, whereas the original question asks about sheaves of sets. I thought I might show how to modify things in this case. The idea is quite similar; one again wants to use a skyscraper sheaf (as noted in the OP) to make an ''indicator function''-like argument. I'll use the notation of Vakil's ''Foundations of Algebraic Geometry''. 
Let $\phi \colon \cal{F} \to \cal{G}$ be our epimorphism of sheaves. Define $\rho \colon \cal{G} \to i_{p, \ast}\{0, 1\}$ by 
$$\rho(U)(g) = \begin{cases} 0 \text{ if } (g, U) \in Im(\phi_{p}) \\
1 \text{ otherwise } \end{cases}$$
for open sets $U$ containing $p$, and trivial maps otherwise. It is straightforward to see that $\rho$ is a morphism of sheaves. Now define $\alpha \colon \cal{G} \to i_{p, \ast}\{0, 1\}$ by 
$$\alpha(U)(g) = 0$$
for open sets $U$ containing $p$, and trivial maps otherwise. Likewise, it is obvious that $\alpha$ is a morphism of sheaves. Furthermore, it is clear that $\rho \circ \phi = \alpha \circ \phi$, so $\rho = \alpha$, since $\phi$ is an epimorphism. Surjectivity of the stalk maps is is now easily deduced. 
A: Let $\mathcal{F}$ and $\mathcal{G}$ be sheaves on a space $X$, and let $\mathcal{F} \overset{\Phi}{\to} \mathcal{G}$ be an epimorphism of sheaves.
Claim: $\Phi_x$ is surjective on each stalk. (Note that the converse is easily seen to hold.)
Proof: Let $\mathcal{H}$ be the skyscraper sheaf at $x$ with value $\mathcal{G}_x/\operatorname{Im}\Phi_x$. Define a map $\mathcal{G} \overset{\Psi}{\to} \mathcal{H}$ by sending $f \mapsto \bar{f_x}$, if $f$ is a section over a set containing $x$. This is clearly a homomorphism of abelian groups. Now define two maps $\mathcal{G} \to \mathcal{H} \oplus \mathcal{H}$ by $(\Psi,0)$ and $(0,\Psi)$. If $\Phi_x$ is not surjective, then these maps differ, but they are the same when precomposed with $\Psi$, so we have established the contrapositive. 
