A) In fact, if a function $f$ has at each point a left and a right derivative, it has a derivative except possibly for $x\in D$, with $D$ at most countable.
See:
http://books.google.fr/books?id=rbCmt-2NxtIC&printsec=frontcover&hl=fr#v=onepage&q&f=false
Look at page 174, point 7) where you will find a proof.
B) Now you have that your continuous function $f$ has a zero derivative, except possibly for $x\in D$, with $D$ at most countable. Then $f$ is constant. The classic proof is as follows.
a) Suppose first that a continuous function $g$ has a derivative for $x\not \in D$ (supposed at most countable), and $g^{\prime}(x)>0$ for $x\not \in D$. Take $a,b$ with $b>a$. Let $d \not \in g(D)$ ($g(D)$ is at most countable) such that $d\leq g(a)$, and $E=\{x\in [a,b]; g(x)\geq d\}$. Let $c={\rm Sup}(E)$. As $g$ is continuous, we have $c\in E$. Suppose that $c<b$. Then we must have $g(c)=d$. Hence $c\not \in D$. As $g^{\prime}(c)>0$, we get that there exists $\alpha>0$ such that in $[c,c+\alpha[$ we have $g(x)\geq g(c)=d$, a contradiction. Hence $b\in E$, we have $g(b)\geq d$. As this is true for all $d\not \in g(D)$, we get $g(b)\geq g(a)$, and $g$ is increasing.
b) Take now $\varepsilon>0$, and $g(x)=f(x)+\varepsilon x$. By a) $g$ is increasing. As this is true for every $\varepsilon$, $f$ is increasing.
c) But $-f(x)$ has also a zero derivative if $x\not \in D$. Hence $-f(x)$ is increasing, and so $f$ is constant.