Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
Announcements
Welcome to the Intel Community. If you get an answer you like, please mark it as an Accepted Solution to help others. Thank you!
26735 Discussions

INDEX() function fails to recognise substring '.hds'

David_S_3
Beginner
132 Views

I am using the INDEX function to test whether a file name includes particular file extensions, e.g. '.exe' of '.lst'

I have discovered that the file extension '.hds' does not appear to be recognised.

i.e. when filein = 'name.hds'

the statement

       ipos = index(filein,'hds')

returns a value of 0.

For the case when filein = 'name.exe' or 'name.lst' the function correctly returns a value of 9.  When filein = 'name.xxx' a value of 0 is returned.

Do the substrings 'hds' and 'xxx' have some particular status?  How can this apparent anomaly be corrected?

    

character string

0 Kudos
4 Replies
Arjen_Markus
Valued Contributor III
132 Views

I am not aware of any special status for these strings. Could you post a complete example demonstrating this? As I have never seen anything like that, I suspect there is something else going on. A small program to reproduce the issue will help to unravel the mystery.

mecej4
Black Belt
132 Views

Commonly, in such cases the culprit is a non-printable character embedded in the string. For example, if there is such a character between '.h' and 'ds', the actual string is not the same as the printed version or as seen in a screen editor. Therefore, when you post your example code, be sure to provided the actual file as an attachment instead of pasting the code or text in the post itself.

David_S_3
Beginner
132 Views

The apparent problem turned out to be the result of a programming error on my part which was revealed in the process of creating a small demonstration program.

Arjen_Markus
Valued Contributor III
132 Views

That is not at all uncommon ;). It happens to everyone.

Reply