c++ - String size undesirable output -



c++ - String size undesirable output -

i not able find bug in little piece of code. wrong it?

string f,s; f[0] = 'd'; s.append(f); cout<<f.length()<<" "<<f<<" "<<f[0]<<endl; cout<<s.length()<<" "<<s<<" "<<s[0]<<endl; output : 0 d 0 d

even if alter s.length s.size, result same. why s[0] = 'd' , s.size() = 0;?

both strings empty when create them, contain no characters. f[0] out of bounds, , accessing element of empty container undefined behaviour, can legally happen.

you need do

string f(1, 'd'), s; // creates f 1 repetition of 'd' s.append(f); ...

or

string f, s; f += 'd'; // or f.push_back('d'), or f.append('d'), or... s.append(f); ...

c++ string

Comments

Popular posts from this blog

How do I check if an insert was successful with MySQLdb in Python? -

delphi - blogger via idHTTP : error 400 bad request -

postgresql - ERROR: operator is not unique: unknown + unknown -