As written, the first part isn't true. Consider $f(x)=e^x,$ for example.
Now, there are examples in which we do have infinitely-many discontinuities. One common approach is to "shift the problem to infinity," so to speak. Let's adapt the above function $f$ to do the trick. Define $g:\Bbb R\to\Bbb R^+$ by $$g(x)=\begin{cases}f(x-1) & \text{if }x\in\Bbb Z\\f(x) & \text{otherwise.}\end{cases}$$ Basically, we've started with the graph of a continuous bijection, then taken infinitely-many points on that graph and shifted them to the right by $1,$ thereby creating infinitely-many discontinuities, while making sure that we still have a bijective function.
Added: The above assumes that $\Bbb R^+$ refers to the positive real numbers. If it refers to the non-negative real numbers, then the first part is true, with the reasoning you mention being enough to do the trick. We can still adapt the function $f(x)$ to get a function of the desired sort, but we need to approach it a bit differently. The kicker is that $f$ is a function from $\Bbb R$ into the positive reals. We'll need to make one of our function values $0,$ but that leaves a hole in the range that must be filled if we're to have a bijection. So, we can fill that hole by making another adjustment, leaving another hole to be filled, and so on. One idea is to shift the function-value $1$ down to $0,$ shift the function-value $2$ down to $1,$ and in general, for positive integers $n,$ shift the function-value $n$ down to $n-1.$ Given any such $n,$ we have $f(x)=n$ precisely when $x=\ln n.$ Thus, we want our adapted function to be $$h(x)=\begin{cases}f(x)-1 & \text{if }x=\ln n\text{ for some positive }n\in\Bbb Z\\f(x) & \text{otherwise.}\end{cases}$$ Since we continue the shift/replace process indefinitely, all the holes are filled in, and it can be shown that $h$ is a bijection $\Bbb R\to\Bbb R^+,$ as desired.