Click here to Skip to main content
15,896,730 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
GeneralRe: Invalidate rectangle Pin
Calin Negru2-Dec-23 5:02
Calin Negru2-Dec-23 5:02 
GeneralRe: Invalidate rectangle Pin
Richard MacCutchan2-Dec-23 6:47
mveRichard MacCutchan2-Dec-23 6:47 
AnswerRe: Invalidate rectangle Pin
charlieg7-Dec-23 1:24
charlieg7-Dec-23 1:24 
Questionanother "include" question... Pin
Salvatore Terress8-Dec-23 5:58
Salvatore Terress8-Dec-23 5:58 
AnswerRe: another "include" question... Pin
MarkTJohnson28-Nov-23 4:32
professionalMarkTJohnson28-Nov-23 4:32 
AnswerRe: another "include" question... Pin
jschell28-Nov-23 4:58
jschell28-Nov-23 4:58 
AnswerRe: another "include" question... Pin
Richard MacCutchan28-Nov-23 5:16
mveRichard MacCutchan28-Nov-23 5:16 
GeneralRe: another "include" question... Pin
k505428-Nov-23 6:11
mvek505428-Nov-23 6:11 
AnswerRe: another "include" question... Pin
Salvatore Terress28-Nov-23 7:38
Salvatore Terress28-Nov-23 7:38 
GeneralRe: another "include" question... Pin
Richard MacCutchan28-Nov-23 21:57
mveRichard MacCutchan28-Nov-23 21:57 
GeneralRe: another "include" question... Pin
Salvatore Terress1-Dec-23 6:42
Salvatore Terress1-Dec-23 6:42 
GeneralRe: another "include" question... Pin
Richard MacCutchan1-Dec-23 6:55
mveRichard MacCutchan1-Dec-23 6:55 
AnswerRe: another "include" question... Pin
Maximilien29-Nov-23 2:33
Maximilien29-Nov-23 2:33 
Questionerror: member access into incomplete type Pin
Salvatore Terress27-Nov-23 6:07
Salvatore Terress27-Nov-23 6:07 
AnswerRe: error: member access into incomplete type Pin
Richard Andrew x6427-Nov-23 10:17
professionalRichard Andrew x6427-Nov-23 10:17 
GeneralSOLVED Re: error: member access into incomplete type Pin
Salvatore Terress27-Nov-23 10:44
Salvatore Terress27-Nov-23 10:44 
GeneralRe: SOLVED Re: error: member access into incomplete type Pin
Richard Andrew x6427-Nov-23 12:06
professionalRichard Andrew x6427-Nov-23 12:06 
AnswerRe: error: member access into incomplete type Pin
JudyL_MD27-Nov-23 10:21
JudyL_MD27-Nov-23 10:21 
QuestionApplication not Launching when converting from 32bit to 64bit in VS Pin
Member 1614225419-Nov-23 15:31
Member 1614225419-Nov-23 15:31 
AnswerRe: Application not Launching when converting from 32bit to 64bit in VS Pin
Richard MacCutchan19-Nov-23 21:41
mveRichard MacCutchan19-Nov-23 21:41 
AnswerRe: Application not Launching when converting from 32bit to 64bit in VS Pin
jschell20-Nov-23 7:23
jschell20-Nov-23 7:23 
QuestionC++ file handling Pin
Saboor Sarfraz18-Nov-23 7:11
Saboor Sarfraz18-Nov-23 7:11 
AnswerRe: C++ file handling Pin
Greg Utas18-Nov-23 8:42
professionalGreg Utas18-Nov-23 8:42 
AnswerRe: C++ file handling Pin
k505418-Nov-23 8:59
mvek505418-Nov-23 8:59 
It's just not that simple. A file is essentially an array of bytes on disc, which are written sequentially. There is no structure or other information, such as start of line, or record size or anything like that associated with a file(1). When you write a Carriage Return ('\r' hex 0D) to the file, it just appends a CR character at the current location in the file.

Exactly what you need to do, depends on what your exercise is.

If you've got a single string of text as shown above, you'll need to examine each character and decide what to do when you find either a '\n' (start a new line) or a '\r' (move to the beginning of the current line). When you find a newline character, you'll need to write that to the file, and use tellp() to record the current location. When you find a CR ('\r') you'll want to then use seekp() to move to the location returned by the previous tellp(). Don't forget to initialize the variable you use for the result of tellp() when you open the file.

If, on the other hand, you have pairs of input, e.g an initial string ("This is some text") and then the text to overwrite ("Overwrite") then its a bit simpler. You still need to record your current location in the file, but you won't need to examine each character for a CR or NL. You just need to record where you are in the file before you write the line, then use seekp() to move back there when you get the next line of input.

In both cases, you may need to think about what happens when you have multiple lines of input. Are you expected to then move to then end of the current line and continue on, or continue writing at the current file cursor location.

If you know you will only have a single line of text, followed by a single line to overwrite with, things are simpler still. In this case, you just need to write the first line of text, then seekp(0) to the beginning of the file, and write the second line of text.

Note:
(1) This might not be true for all OS's out there. But if you're using Windows, Linux or OS-X, then that is the case.
"A little song, a little dance, a little seltzer down your pants"
Chuckles the clown

AnswerRe: C++ file handling Pin
jschell20-Nov-23 7:30
jschell20-Nov-23 7:30 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.