Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
str_assignOps.cpp
Package: CppPrimer.rar [view]
Upload User: qdkongtiao
Upload Date: 2022-06-29
Package Size: 356k
Code Size: 4k
Category:
source in ebook
Development Platform:
Visual C++
- /*
- * This file contains code from "C++ Primer, Fourth Edition", by Stanley B.
- * Lippman, Jose Lajoie, and Barbara E. Moo, and is covered under the
- * copyright and warranty notices given in that book:
- *
- * "Copyright (c) 2005 by Objectwrite, Inc., Jose Lajoie, and Barbara E. Moo."
- *
- *
- * "The authors and publisher have taken care in the preparation of this book,
- * but make no expressed or implied warranty of any kind and assume no
- * responsibility for errors or omissions. No liability is assumed for
- * incidental or consequential damages in connection with or arising out of the
- * use of the information or programs contained herein."
- *
- * Permission is granted for this code to be used for educational purposes in
- * association with the book, given proper citation if and when posted or
- * reproduced.Any commercial use of this code requires the explicit written
- * permission of the publisher, Addison-Wesley Professional, a division of
- * Pearson Education, Inc. Send your request for permission, stating clearly
- * what code you would like to use, and in what specific way, to the following
- * address:
- *
- * Pearson Education, Inc.
- * Rights and Contracts Department
- * 75 Arlington Street, Suite 300
- * Boston, MA 02216
- * Fax: (617) 848-7047
- */
- #include "seq_preamble.h"
- vector<char> c_vec;
- //string s("some string"), s2("some other string");
- string s, s2;
- int main()
- {
- s = "some string";
- s2 = "some other string";
- // 3 equivalent ways to insert all the characters from s2 at beginning of s
- // insert iterator range before s.begin()
- s.insert(s.begin(), s2.begin(), s2.end());
- cout << "insert iterators version: " << s << endl;
- s = "some string";
- // insert copy of s2 before position 0 in s
- s.insert(0, s2);
- cout << "insert string at given position: " << s << endl;
- s = "some string";
- // insert s2.size() characters from s2 starting at s2[0] before s[0]
- s.insert(0, s2, 0, s2.size());
- cout << "insert positional version: " << s << endl;
- s = "";
- c_vec.push_back('a'); // temporary hack to workaround g++ bug
- // replace characters in s by elements from c_vec
- s.insert(s.begin(), c_vec.begin(), c_vec.end());
- s.insert(s.size(), 5, '!'); // insert five exclamation points at end of s
- cout << s << endl;
- s.erase(s.size() - 5, 5); // erase last five characters from s
- cout << s << endl;
- {
- char *cp = "Stately plump Buck";
- string s;
- s.assign(cp, 7); // s == "Stately"
- cout << s << endl;
- s.insert(s.size(), cp + 7); // s == "Stately plump Buck"
- cout << s << endl;
- }
- {
- string s("C++ Primer"); // initialize s to "C++ Primer"
- s.append(" 3rd Ed."); // s == "C++ Primer 3rd Ed."
- // equivalent to s.append(" 3rd Ed.")
- s.insert(s.size(), " 3rd Ed.");
- cout << s << endl;
- // starting at position 11, erase 3 characters and then insert "4th"
- s.replace(11, 3, "4th"); // s == "C++ Primer 4th Ed."
- cout << s << endl;
- // equivalent way to replace "3rd" by "4th"
- s.erase(11, 3); // s == "C++ Primer Ed."
- s.insert(11, "4th"); // s == "C++ Primer 4th Ed."
- cout << s << endl;
- s.replace(11, 3, "4th"); // s == "C++ Primer 4th Ed."
- cout << s << endl;
- s.replace(11, 3, "Fourth"); // s == "C++ Primer Fourth Ed."
- cout << s << endl;
- {
- string s("C++ Primer, 3rd Ed.");
- s.replace(s.find("3rd"), 3, "Fourth");
- cout << s << endl;
- }
- }
- return 0;
- }