Your search is failing. And you are returned "npos" when string::find() fails. 
And npos is,

static const size_type    npos = static_cast<size_type>(-1);

at least on gcc-3.4.2

You need to check for the result of find(). Only if it is less than 
str.length(), your search is successful.

You can put some debug messages to trace why your search is failing.  I did put 
some, and following is what I found,

searching for:<cc>, in:aa bb cc dd <ee> ff <gg> hh <ii> jj
found: 4294967295
 
<ee>
searching for:<<ee>>, in:aa bb cc dd <ee> ff <gg> hh <ii> jj
found: 4294967295
 
<gg>
searching for:<<gg>>, in:aa bb cc dd <ee> ff <gg> hh <ii> jj
found: 4294967295
 
<ii>
searching for:<<ii>>, in:aa bb cc dd <ee> ff <gg> hh <ii> jj



----- Original Message ----
From: sejal patel <[EMAIL PROTECTED]>
To: [email protected]
Sent: Wednesday, October 3, 2007 6:50:16 AM
Subject: [c-prog] replace characters









  


    
            Hi

I have a quastion.

I want to replace characters in this prog.

but the found value prints :4294967295

i dont understand why this happen?



#include<iostream>

#include <vector>

#include <string>

#include <sstream>



using namespace std;



int main()

{

    string str("aa bb cc dd <ee> ff <gg> hh <ii> jj"),search, replace;

    cout<<str;

    string buf; 

    stringstream ss(str); // Insert the string into a stream



vector<string> tokens; 

    vector<string> ::iterator iter;

    while (ss >> buf)

        tokens.push_ back(buf) ;



iter = tokens.begin( )+2;

  while(  iter != tokens.end() )

  {

          cout << endl<<*iter ;

          search="<" + *iter + ">";



          iter++;

          replace=*iter;

          size_t found=str.find( search,0);

          cout<<"found: "<<found< <endl;

          while ( found != string::npos )

          {



                 str.replace( found, search.size( ), replace);

                 cout<<"str:" <<str<<"+ ++++";

                 found = str.find( search, found+replace. size()+1 );

          }

          *iter++;



}

 cout<<"Now string is:"<<str;



}



please help me.

Thanks.





    
  

    
    




<!--

#ygrp-mkp{
border:1px solid #d8d8d8;font-family:Arial;margin:14px 0px;padding:0px 14px;}
#ygrp-mkp hr{
border:1px solid #d8d8d8;}
#ygrp-mkp #hd{
color:#628c2a;font-size:85%;font-weight:bold;line-height:122%;margin:10px 0px;}
#ygrp-mkp #ads{
margin-bottom:10px;}
#ygrp-mkp .ad{
padding:0 0;}
#ygrp-mkp .ad a{
color:#0000ff;text-decoration:none;}
-->



<!--

#ygrp-sponsor #ygrp-lc{
font-family:Arial;}
#ygrp-sponsor #ygrp-lc #hd{
margin:10px 0px;font-weight:bold;font-size:78%;line-height:122%;}
#ygrp-sponsor #ygrp-lc .ad{
margin-bottom:10px;padding:0 0;}
-->



<!--

#ygrp-mlmsg {font-size:13px;font-family:arial, helvetica, clean, sans-serif;}
#ygrp-mlmsg table {font-size:inherit;font:100%;}
#ygrp-mlmsg select, input, textarea {font:99% arial, helvetica, clean, 
sans-serif;}
#ygrp-mlmsg pre, code {font:115% monospace;}
#ygrp-mlmsg * {line-height:1.22em;}
#ygrp-text{
font-family:Georgia;
}
#ygrp-text p{
margin:0 0 1em 0;}
#ygrp-tpmsgs{
font-family:Arial;
clear:both;}
#ygrp-vitnav{
padding-top:10px;font-family:Verdana;font-size:77%;margin:0;}
#ygrp-vitnav a{
padding:0 1px;}
#ygrp-actbar{
clear:both;margin:25px 0;white-space:nowrap;color:#666;text-align:right;}
#ygrp-actbar .left{
float:left;white-space:nowrap;}
.bld{font-weight:bold;}
#ygrp-grft{
font-family:Verdana;font-size:77%;padding:15px 0;}
#ygrp-ft{
font-family:verdana;font-size:77%;border-top:1px solid #666;
padding:5px 0;
}
#ygrp-mlmsg #logo{
padding-bottom:10px;}

#ygrp-vital{
background-color:#e0ecee;margin-bottom:20px;padding:2px 0 8px 8px;}
#ygrp-vital #vithd{
font-size:77%;font-family:Verdana;font-weight:bold;color:#333;text-transform:uppercase;}
#ygrp-vital ul{
padding:0;margin:2px 0;}
#ygrp-vital ul li{
list-style-type:none;clear:both;border:1px solid #e0ecee;
}
#ygrp-vital ul li .ct{
font-weight:bold;color:#ff7900;float:right;width:2em;text-align:right;padding-right:.5em;}
#ygrp-vital ul li .cat{
font-weight:bold;}
#ygrp-vital a{
text-decoration:none;}

#ygrp-vital a:hover{
text-decoration:underline;}

#ygrp-sponsor #hd{
color:#999;font-size:77%;}
#ygrp-sponsor #ov{
padding:6px 13px;background-color:#e0ecee;margin-bottom:20px;}
#ygrp-sponsor #ov ul{
padding:0 0 0 8px;margin:0;}
#ygrp-sponsor #ov li{
list-style-type:square;padding:6px 0;font-size:77%;}
#ygrp-sponsor #ov li a{
text-decoration:none;font-size:130%;}
#ygrp-sponsor #nc{
background-color:#eee;margin-bottom:20px;padding:0 8px;}
#ygrp-sponsor .ad{
padding:8px 0;}
#ygrp-sponsor .ad #hd1{
font-family:Arial;font-weight:bold;color:#628c2a;font-size:100%;line-height:122%;}
#ygrp-sponsor .ad a{
text-decoration:none;}
#ygrp-sponsor .ad a:hover{
text-decoration:underline;}
#ygrp-sponsor .ad p{
margin:0;}
o{font-size:0;}
.MsoNormal{
margin:0 0 0 0;}
#ygrp-text tt{
font-size:120%;}
blockquote{margin:0 0 0 4px;}
.replbq{margin:4;}
-->








      
____________________________________________________________________________________
Don't let your dream ride pass you by. Make it a reality with Yahoo! Autos.
http://autos.yahoo.com/index.html
 



[Non-text portions of this message have been removed]

Reply via email to