By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
455,907 Members | 1,283 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 455,907 IT Pros & Developers. It's quick & easy.

help with Borland C++ V.4.52

P: n/a
I could not get this program to run in Borland C++ V.4.52.
Error message: "size is not member of string in function main()"
However, this program run fine on g++.
Thanks for any help !
################################################## #####
#include <iostream.h>
#include <string.h>
#include <cstring.h>

int main()
{
cout << "Please enter your first name: ";
string name;
cin >> name;

// build the message that we intend to write
const string greeting = "Hello, " + name + "!";

// build the second and fourth lines of the output
const string spaces(greeting.size(), ' ');
const string second = "* " + spaces + " *";

// build the first and fifth lines of the output
const string first(second.size(), '*');

// write it all
cout << std::endl;
cout << first << std::endl;
cout << second << std::endl;
cout << "* " << greeting << " *" << std::endl;
cout << second << std::endl;
cout << first << std::endl;

return 0;
}

Oct 28 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
tv****@hotmail.com wrote:
I could not get this program to run in Borland C++ V.4.52.
Error message: "size is not member of string in function main()"
However, this program run fine on g++.
Thanks for any help !
################################################## #####
#include <iostream.h>
#include <string.h>
Non standard.

# include <iostream>
# include <string>
From now on, all the names from the standard library are in namespace std. For example,

cout << "hey";

should be replaced by

std::cout << "hey";
#include <cstring.h>
Does not exists. It's either <string.h> or <cstring>. Note that both
are different from <string>.
int main()
{
cout << "Please enter your first name: ";
string name;
cin >> name;

// build the message that we intend to write
const string greeting = "Hello, " + name + "!";
To build strings, you should use std::ostringstream.

# include <sstream>

std::ostringstream oss;
oss << "Hello, " << name << "!";
std::cout << oss.str();
// build the second and fourth lines of the output
const string spaces(greeting.size(), ' ');
const string second = "* " + spaces + " *";

// build the first and fifth lines of the output
const string first(second.size(), '*');

// write it all
cout << std::endl;
cout << first << std::endl;
cout << second << std::endl;
cout << "* " << greeting << " *" << std::endl;
cout << second << std::endl;
cout << first << std::endl;
return 0;
}

Jonathan

Oct 28 '05 #2

P: n/a
tv****@hotmail.com wrote:
I could not get this program to run in Borland C++ V.4.52.
Error message: "size is not member of string in function main()"
However, this program run fine on g++.
Thanks for any help !


Try length() instead of size(). size() was added to string later (for
compatibility with other STL containers) and a very, very old compiler
might not have string::size().

john
Oct 28 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.