I have an Origin C function that takes a file path\name as an argument. It works fine unless the path or name contains the percent symbol (%) in which case the OC function substitutes % + next letter with the value of the corresponding LabTalk string variable.
int MyFunction(string strPath); { out_str(strPath); - more code - };
That's also what I see and want to avoid in Origin 7.0. I want to treat % like any other character because it's allowed in file and path names. I don't want %letter to be treated as a string variable and can't test against that happening (as you did) because (1) I don't know in advance what letter is and (2) I probably wouldn't know in advance what the value of %letter even if I knew what letter was.
I'm looking for a way to pass the paths C:\Data\My %Folder\file.dat or C:\Data\My Fo%lder\file.dat (or any possible variation) to an Origin C function in Origin 7.0 and prevent such substitution from happening.
quote:It is funny that the path was passed (or received by the OriginC function) in capital letters
That's normal when providing a LabTalk string variable as an Origin C argument. It's always converted to caps.