Newbie C++ Help

Recommended Posts

Fragmaster    0

What the hell Trust?

Share this post


Link to post
Share on other sites
-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
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
Radium    104
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
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
Radium    104

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
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
Radium    104
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
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
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
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
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
yyy    1

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

Share this post


Link to post
Share on other sites
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
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
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
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
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
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
yyy    1

Oh, OK - thanks for your reply.

Share this post


Link to post
Share on other sites
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
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
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
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

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.