Click here to Skip to main content
11,644,286 members (71,344 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C++ MFC VC9.0 VC VC++
CString WriteString;
....
 
	WriteString.Format("%s.%d d",WriteString,NI);

At above WriteStringthe buffer too small warning is shown when executed any times because CStringtype is not enough to hold string of any size.

My goal is to get content ofWriteStringto write in to a file at end.

But it shows the warning when size of WriteStringreach to a limit. Is there any other way to write these strings to a file?or make the writeString be of unlimited size.
Posted 1-Apr-12 18:55pm
chaiein1.8K
Comments
swapnilKumbhar at 2-Apr-12 1:31am
   
Refer this.may help you to solve your query.
http://msdn.microsoft.com/ja-jp/library/ms928943.aspx
Resmi Anna at 2-Apr-12 1:53am
   
How much data is the WriteString holds. Actually there is no size limit for CString. Depends on system memory and process memory. Please post the exact warning message and line you are getting.
chaiein at 2-Apr-12 4:31am
   
solved problem as below solutions :) thank you :)
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

WriteString.AppendFormat("%du.",NI,CPianoCtrl::NoteUporDwn);

This also works.
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

In the Format(..) context,
try to use the string as the receiver only Smile | :) :
  CString cszComposed(_T("SomeValue"));
  ...
  CString cszTemp;
  cszTemp.Format(_T(".%d d"), NI);
  cszComposed += cszTemp;
  Permalink  
v2
Comments
chaiein at 2-Apr-12 4:27am
   
Thank you it works:)I have updated below solution 2 which can also works.
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

If your objective is to reuse variables, here goes the way to go:
 
CString WriteString;
....
 
<pre>
WriteString.Format("%s.%d d", CString(WriteString),NI);</pre>

Notice the CString() constructor call. You will have not problems because your format receives a copy of WriteString, instead of manipulating it directly.
  Permalink  
Comments
Richard Deeming at 10-Jul-15 13:47pm
   
Do you really think the OP is still looking for a solution to a solved question from over three years ago?!
Member 5688443 at 10-Jul-15 14:04pm
   
No, but other people can like my solution. He/She has not the exclusive right to the use of Internet.
Richard Deeming at 10-Jul-15 14:07pm
   
Posting new answers to old, solved questions is a form of abuse - you're not trying to help the OP, you're just trying to increase your reputation points.
Member 5688443 at 10-Jul-15 19:55pm
   
Do you think I care that much about my reputation here? This is the first time I went to see it. Almost all points I got were from Sign Ins, that most likely are done automatically by the browser.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 OriginalGriff 650
1 jyo.net 494
2 Afzaal Ahmad Zeeshan 423
3 Sergey Alexandrovich Kryukov 409
4 CPallini 352
0 OriginalGriff 925
1 DamithSL 636
2 Afzaal Ahmad Zeeshan 622
3 Sergey Alexandrovich Kryukov 548
4 CPallini 521


Advertise | Privacy | Mobile
Web02 | 2.8.150731.1 | Last Updated 10 Jul 2015
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100