We have some old code which creates an XML document tree, using IXMLDocument and related interfaces. Anyway, some code creates a text node and we pass in text such as "5.0 £" or "2.5 €". The currency characters are non ASCII and are not valid in an XMl text node. For example this is invalid:
It needs to be translated as follows:
I can process the string e.g. "2.5 €" replacing each non ASCII character with a numeric character reference, and then create the XML text node. Is there a better way to convert the CString content to XML compliant text? I cannot find anything in Microsoft code. (As far as I can see Xerces would handle this but we do not use Xerces.)
Let me explain, as precisely as possible, my expectation : I have 3 physical drives (200 GiB, 300 GiB, 500 GiB), but number and size of drives may vary. By using an unique Virtual Drive (VD) seen by an user, the goal is to allow standard file operation (copy, delete, move) through Windows file explorer or a Windows console on this VD. Final user will always see an unique drive letter.
For instance, the added value of my idea is to put on 1st drive some movies and to duplicate them on 3rd drive. Once the 1st drive is full, my soft will copy the next movies on 2nd drive while continuing duplicate it on 3rd drive. Of course, 1st and 2nd drive are marked as "1st virtual disk" and 3rd is marked as "duplicated" by manual configuration (with HMI showing physical drives for instance but it's my problem)
I don't want to hear about ANY RAID which have inconvinient to be "unreadable" once 1 disk is removed. RAID should mandatory have same disk size in order to do "mirror" feature. The added value of my idea is the ability to read any hard drive anywhere without any filesystem constraint. It's a fine way to recycle my old hard drives.
My question is how to create such a VD and how to intercept file operation on this VD and how to show (on this VD customized) customized FAT contents (contents of 1st and 2nd physical drives) by using Visual Studio.
On a sidenote, you can write C++ programs without the use of many central characters by using digraphs and trigraphs[^]. However, ';' is ot one of the characters you can circumscribe that way, and you can't express any command that will be executed at runtime without it.
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)