• Sign in to Neowin Faster!

    Create an account on Neowin to contribute and support the site.

  • 0

Newbie C++ Help

Question

Vi3tboi911    1

Ok, I got inspired today to learn a programing language. I want to learn C++ but I am sitting here with no clue on earth on where to start. Can anyone give me links to newbie tutorials and sites? If you can, please state any tips that you have for me, thanks!

  • Like 1

Share this post


Link to post
Share on other sites

212 answers to this question

Recommended Posts

  • 0
-sacred-    0

i've got c++ for dummies, too.

it's really good.

I started with visualbasic when i was 12. After that, there was html, blitz basic, php and at last c++. I can recommend the quakenet php tutorial, it is very good.

But one question: What is the command to run an *.exe with c++?

thx, sacred :D

Share this post


Link to post
Share on other sites
  • 0
slimshady89    0

hey can someone tell me how to read from input files.. I have coded everything (the #include <fstream.h> and such) but I dont know the code to get data from the input file

Share this post


Link to post
Share on other sites
  • 0
Radium    121
Firstly, I would not recommend assembly for a beginner to learn, especially not x86.  Secondly, I would not recommend that book (AoA).  Thirdly, I would not recommend using TASM or MASM.  I've used them both and they both suck.  They're full of red tape.  If I was to choose between the two, I'd go for TASM, but given the choice to choose another, I'd go for NASM.

586134243[/snapback]

I agree!

x86 is major pain and NASM is the way to go. MASM will give you bad habits.

Is Bjarne's book THE book for C++?

I'm trying to start with C++, but there's nothing in my code that makes it C++, it might as well be C.

Share this post


Link to post
Share on other sites
  • 0
cairo    0

i wan to compile the C++ with visual C++

anybody can teach me ?

i will kindly appreciate it ....

when i wan to create a program, create file then choose C++ source file to program,

then after what should i do ?

when i press ctrl-F7 to compile it, it prompt me to create project workspace....

then only can compile.....

after that when i choose to run another program, can compile but cant run

why ?

Share this post


Link to post
Share on other sites
  • 0
Radium    121

I found a book called "C++ Programming Language; Special Edition" by Bjarne Stroustrup, 2000.

ISBN: 0201700735

I'm seriously thinking about getting that one.

I'm pretty much a beginner, but I have programmed before but never in C++.

I need a solid ground to stand on.

Anyone have that book or a previous edition?

Or do you recommend another one?

I'm planning on getting this for christmas, my wishlist is really short so my parents will have to buy me all of the things that are there (two things, hehe).

Thanks in advance,

Radium. :)

Share this post


Link to post
Share on other sites
  • 0
azcodemonkey    1
I found a book called "C++ Programming Language; Special Edition" by Bjarne Stroustrup, 2000.

ISBN: 0201700735

I'm seriously thinking about getting that one.

I'm pretty much a beginner, but I have programmed before but never in C++.

I need a solid ground to stand on.

Anyone have that book or a previous edition?

Or do you recommend another one?

I'm planning on getting this for christmas, my wishlist is really short so my parents will have to buy me all of the things that are there (two things, hehe).

Thanks in advance,

Radium. :)

586856005[/snapback]

That book is the definitive tome for C++. It's very good.

I'm also a fan of Accelerated C++ ISBN 020170353X. It's a very good book that deals with how you write in C++. It doesn't touch on anything that deals with C-compatibility, which I think is good.

Share this post


Link to post
Share on other sites
  • 0
Radium    121
That book is the definitive tome for C++. It's very good.

I'm also a fan of Accelerated C++ ISBN 020170353X. It's a very good book that deals with how you write in C++. It doesn't touch on anything that deals with C-compatibility, which I think is good.

586856039[/snapback]

ah, thanks. Cool! :cool:

If I'm satisfied with Bjarne's book, then I will take a look at "Accelerated C++". :)

I have no plans in becoming a professional programmer, I just like programming as a hobby. I might change my mind later, I don't know. :happy:

Share this post


Link to post
Share on other sites
  • 0
yyy    1

What is the best way to create a timer in C++? I need a timer which will not cause the application to stop responding and will fire an event according to a given interval.

In other words, I need the C++ alternative to the .NET's timer. Or maybe there's a more simple solution?

Any ideas?

Share this post


Link to post
Share on other sites
  • 0
dannysmurf    4

You sound like you're looking for an "event" like you would find in .NET. That's not going to happen.

If you need the timer in a Window, use the SetTimer API function. This throws a WM_TIMER message into the window's message queue after each interval. If it's not in a Window, you can use CreateWaitableTimer. That function blocks the calling thread for the specified amount of time, and then resumes execution. Since it does block, you'd need to put that into a secondary thread.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Oh, OK - I'm a total C++ beginner so I'm still not sure how it works. I was just wondering what's the best way to add a timer. I'll try SetTimer then :)

Share this post


Link to post
Share on other sites
  • 0
yyy    1

OK, the SetTimer solution worked great - thanks :) But now I have another problem: I have a LONG value which I want to convert to LPCWSTR - how should I do that?

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Wow - thanks a lot :laugh: You're great :cool:

Share this post


Link to post
Share on other sites
  • 0
AndreasV    0
I have a LONG value which I want to convert to LPCWSTR - how should I do that?

For C++, you should use stringstream:

std::wstringstream wss;
wss &lt;&lt; longValue;
LPCWSTR wStr = wss.str().c_str();

or write a template function once:

template&lt;typename T, typename b_char&gt; std::basic_string&lt;b_char&gt; ToString(const T&amp; t)
{
   std::basicstringstream&lt;b_char&gt; wss;
   wss &lt;&lt; t;
   return wss.str();
}

If you are going to use C++, try to avoid C functions, like _ltow and in general try to avoid using fixed-buffers and new()/delete() operations.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Thanks but then I get:

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(175) : error C2653: 'std' : is not a class or namespace name

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(175) : error C2065: 'wstringstream' : undeclared identifier

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(175) : error C2146: syntax error : missing ';' before identifier 'wss'

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(175) : error C2065: 'wss' : undeclared identifier

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(177) : error C2228: left of '.str' must have class/struct/union

type is ''unknown-type''

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(177) : error C2228: left of '.c_str' must have class/struct/union

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(181) : error C2361: initialization of 'wStr' is skipped by 'default' label

d:\my documents\visual studio 2005\projects\colorstest\colorstest\colorstest.cpp(177) : see declaration of 'wStr'

Share this post


Link to post
Share on other sites
  • 0
AndreasV    0

Include the headers:

#include &lt;string&gt;	 // for std::basic_string&lt;T&gt;
#include &lt;sstream&gt; // for std::basic_stringstream&lt;T&gt;

Btw, the std::basicstringstream should have been std:basic_stringstream. Missed an underscore.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Oh, thanks a lot :) I had a feeling that I'm missing a header file but I didn't know which :laugh: It works fine now.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

I have a question:

If I have Visual C++ Express 2005 and the Platform SDK, can I develop programs which uses the ATL library? I've heard that the Platform SDK has only the header files of the ATL but not the actual library so I'm not sure. Is the ATL library offered for free or does it only come with the full Visual Studio?

Share this post


Link to post
Share on other sites
  • 0
azcodemonkey    1

I have a question:

If I have Visual C++ Express 2005 and the Platform SDK, can I develop programs which uses the ATL library? I've heard that the Platform SDK has only the header files of the ATL but not the actual library so I'm not sure. Is the ATL library offered for free or does it only come with the full Visual Studio?

ATL and MFC only come with Standard and above. Neither are available in the PSDK either, except in the 64-bit form.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Oh, OK - thanks for your reply.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

I have another question:

I create a TCHAR variable called "lpszPath" to which I assign a certain text. Now I want to show the value of that variable together with a custom text I write in a message box. I've tried this:

MessageBox(NULL, _T("The variable's value is ") + lpszPath, _T(""), 0);

which is obviously wrong, but it didn't work. What is the right way to do it?

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Oh, sorry - I've found the answer (After many hours of tryings :| :laugh: )

Here's what I had to do:

#include &lt;string&gt;
#include &lt;sstream&gt;

char buffer[8192];
sprintf(buffer, The variable's value is %S", lpszPath);

std::wstringstream message;
message &lt;&lt; buffer;

MessageBox(NULL, (LPCWSTR)message.str().c_str(), _T(""), 0);

Share this post


Link to post
Share on other sites
  • 0
AndreasV    0

Fixed buffers are bad, use std::wstring.

#include &lt;string&gt;
typedef tstring std::basic_string&lt;TCHAR&gt;;

tstring str(_T("The variable\'s value is "));
str.append(lpszPath); // assuming lpszPath is a LPTSTR

::MessageBox(NULL,  str.c_str(), NULL, 0);

The code you wrote assumed assumed TCHAR is a wchar_t (UNICODE and/or _UNICODE are defined in that case).

Either write UNICODE code only (use WCHAR and the *W() api-set) or use TCHAR and the TEXT() and _T() macros everywhere.

Share this post


Link to post
Share on other sites
  • 0
yyy    1

Oh, OK - thanks :) That's good to know. I'm used to work with C# which is much simpler :D

Share this post


Link to post
Share on other sites
  • 0
Sam Symons    0

Ok, I got inspired today to learn a programing language. I want to learn C++ but I am sitting here with no clue on earth on where to start. Can anyone give me links to newbie tutorials and sites? If you can, please state any tips that you have for me, thanks!

I was in your position a couple months ago, but I reccommend learning Visual Basic first, then learning C++. It's way easier.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.