|
Getting an input string without echoing it on the screen it is not a standard ANSI C feature. You should check if your system provide some non-standard way to do it, like Linux 's getpass[^].
|
|
|
|
|
You could try putting _getch() in a loop, printing a '*' for each character typed.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Unfortunately there is no way in standard C/C++ to do that, but I see you're already using non-standard functions anyway. As David pointed out, _getch() should do the trick:
#include "stdio.h"
#include "conio.h"
int main()
{
char c;
c = _getch();
putchar('*');
printf("\nYou entered %c\n", c);
_getch(); return 0;
}
If this doesn't work, refer to this thread for more advice: c++ - Capture characters from standard input without waiting for enter to be pressed - Stack Overflow[^]
GOTOs are a bit like wire coat hangers: they tend to breed in the darkness, such that where there once were few, eventually there are many, and the program's architecture collapses beneath them. (Fran Poretto)
|
|
|
|
|
char* str = new char[128];
At first run, the address of str is 0x12345678,
and second run, the address of str is 0x00123456,
I want the address of str constant, not change every time run.
I wish:
At first run, the address of str is 0x12345678,
and second run, the address of str is 0x12345678,
every time run, the address of str is 0x12345678.
|
|
|
|
|
There's no mechanism within C++ to do that. In fact, modern run time systems are designed so that program data spaces are different for each program invocation. For example:
$ cat example.c
#include <stdio.h>
int main()
{
int n;
printf("&n = %p\n" , &n);
}
$ for ((i=0;i<4;++i)); do ./example; done
&n = 0x7fff2ddda67c
&n = 0x7ffdece1243c
&n = 0x7ffe42e7d2bc
&n = 0x7fffd2e78b2c
$
Note that even this simple program gives different addresses for the address of int n on successive runs. This is to make it difficult for any malicious program to interfere with and modify a running program, or to predict where a program will place data.
Also note that in any modern OS (outside of some embeded applications), you are dealing with virtual addresses anyway, so where your process thinks an object is and where the object actually is in physical memory are completely different, so you need to know things like the value page frames and things to work out a physical address of an object in memory.
Outside of some sort of educational value, I can't see any up side to always getting the same address when calling new , so maybe you might want to think about why you want this behavior and come up with a new plan.
|
|
|
|
|
|
You could mimic that implementing you own memory manager and then globally replacing the default new operator.
|
|
|
|
|
|
Are you referring to either the /base or /fixed linker option?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
First, I use Visual Studio.
Invalid after adding add "/fixed" linker option.
and
error LNK1146: no argument specified with option '/base'
|
|
|
|
|
The question is stupid, there is no way a dynamic heap manager can guarantee it wont give the memory space away to some other call for memory allocation. To do what you asked it would have to keep the memory "available" anyhow, so for the love of all things coding just declare the thing static in that case (unless you actually want a global).
My C++ is rusty with string objects but it should be something like
static char* str = char[128];
In C it is simpler
static char str[128];
Problem solved it now has the same address everytime locally, and effectively does the same thing that any crazy heap manager doing what you asked would have to do.
I am assuming you are going to change the string at times, so you want a variable not a constant.
In vino veritas
modified 13-Nov-19 8:47am.
|
|
|
|
|
The first form is not valid C++. And the second form still does not work since the compiler and the linker can allocate that array in different places.
As you so rightly say, the question is stupid.
|
|
|
|
|
Main Question: Is it possible to set a tree item image (CTreeCtrl::SetItemImage) without having to build a CImageList ?
I have to build different images corresponding to the items state and I would like to be able to create the image dynamically (lot of TransparentBlt) instead of having to list and build all the images and add them statically to the image list.
i have a default item image and I TransparentBlt state images on it
for example, an item can have the state1 enabled, and will display the appropriate image representing state1.
an another item can have state1 and state4 and will display an image with the state1 and state4
Now, I have to create the imagelist for all combinations of states at compile time and call the SetItemImage with the image list index.
I'd like to be able to simply call something like:
myTree.SetItemImage( hItem, BuildMyItemImage(hItem ) );
I'd rather be phishing!
|
|
|
|
|
|
that's what I am doing; just annoying to have to create images for many combinations.
Thanks.
I'd rather be phishing!
|
|
|
|
|
Hello everyone,
I wrote an MFC app some years ago that connects to an FTP server. Recently the server has switched over to FTPS so whenever I try to connect I get the following message:
550 SSL/TLS required on the control channel
I'm using the following code to connect to the server:
CInternetSession* pSession = new CInternetSession(L"myApp", 1, 0, 0, 0, INTERNET_FLAG_DONT_CACHE);
CFtpConnection* pFtpCon = pSession->GetFtpConnection(L"*IPAddress*", L"*Username*", L"*password*", 21);
I was wondering if it is possible to connect to an FTPS server using CInternetSession/CFtpConnection and if so how. Or will I need to use a library to achieve this. I've searched around on the internet but can't find a definitive answer.
Any help would be most appreciated. Thanks.
|
|
|
|
|
Are you able to connect to this new server manually?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Hi David,
I can access the server using FileZilla with no problems. I know very little about FTP/FTPS but my guess is that CInternetSession/CFTPConnection do not support SSL(TSL); I've been doing quite a lot of reading but haven't found anything to confirm this however. I think my next step is to try out curl.
Thanks.
|
|
|
|
|
Did you read what was said here, and the suggestions?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I hadn't seen that particular post, but I've seen most of the links listed there. I did try adding ftps:// to the server name, as suggested in that link, but that returns and invalid url error. I was hoping for a simple solution but it looks to be more complicated than I hoped.
Thanks for the help!
|
|
|
|
|
I wanted to add .ico and .bmp files in the bottom of the dialog right after static text (e.g.like this-> warning and help )respectively.
I'm having difficulty achieving this. I would like to request some guidance with this.
Thanks in advance.
|
|
|
|
|
Member 14575556 wrote:
I'm having difficulty achieving this. Which part exactly? Adding an image control to a dialog resource? Reading an image into a CImage or CBitmap object? Rendering that object?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Yes adding icon in any place in the dialog. I wanted to put my custom icon in the left bottom corner of the dialog box.
Any guidance will be very helpful thanks.
|
|
|
|
|
Can you not just add the control to the dialog resource like you did all of the other controls?
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
Thank you for the reply. I did that and achieved what I wanted. 
|
|
|
|