How can I include a header file that contains `>` in its name?How can I profile C++ code running on Linux?Why can templates only be implemented in the header file?How can I get the list of files in a directory using C or C++?Why are #ifndef and #define used in C++ header files?C/C++ include header file orderPedantic: What Is A Source File? What Is A Header? C++ Header Files - What to includeHow to include a file in C and/or C++Including C headers in a C++ namespace - is it a standard behavior?How do I use C++ modules in Clang?

Does the "6 seconds per round" rule apply to speaking/roleplaying during combat situations?

Russian equivalents of "no love lost"

How bad would a partial hash leak be, realistically?

What is this solid state starting relay component?

After the loss of Challenger, why weren’t Galileo and Ulysses launched by Centaurs on expendable boosters?

Phone number to a lounge, or lounges generally

Translating 'Liber'

Remove sudoers using script

Do the English have an ancient (obsolete) verb for the action of the book opening?

Is it recommended against to open-source the code of a webapp?

Turing patterns

What's up with this leaf?

How do I write "Show, Don't Tell" as a person with Asperger Syndrome?

Java guess the number

Are "living" organ banks practical?

Is this half mask suitable for spray painting?

How would a aircraft visually signal in distress?

Why only the fundamental frequency component is said to give useful power?

Why is the relationship between frequency and pitch exponential?

Trapping Rain Water

My coworkers think I had a long honeymoon. Actually I was diagnosed with cancer. How do I talk about it?

How to express a term of multiplication

Company did not petition for visa in a timely manner. Is asking me to work from overseas, but wants me to take a paycut

How is it possible that Gollum speaks Westron?



How can I include a header file that contains `>` in its name?


How can I profile C++ code running on Linux?Why can templates only be implemented in the header file?How can I get the list of files in a directory using C or C++?Why are #ifndef and #define used in C++ header files?C/C++ include header file orderPedantic: What Is A Source File? What Is A Header? C++ Header Files - What to includeHow to include a file in C and/or C++Including C headers in a C++ namespace - is it a standard behavior?How do I use C++ modules in Clang?






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty height:90px;width:728px;box-sizing:border-box;








13















This is quite a contrived problem, I admit, but here it is.



Suppose you have a file with the > character in its name. This is possible on most Unix systems afaik:



$ touch 'weird>name'
$ ls -l
-rw-r--r-- 1 user user 0 28 Mag 11:05 weird>name


Now, suppose this file contains C/C++ code and you want to include it as an header:



#include <weird>name>

int main()
return weird_function();



Clang gives me the following error:



test.cpp:1:10: fatal error: 'weird' file not found
#include <weird>name>


Of course, since the preprocessor parses the directive up to the first > and looks for the weird file. But, I wonder if some escaping mechanism exists to allow me to include the right file.



So, in C and/or C++, is there a way to include an header file which has the > character in its name?



Edit: Many suggested me why not to use #include "weird>name". I admit that my mind slipped over the quotes syntax while writing the question, but it remains valid because the two syntaxes may ask the compiler to search in different paths (theoretically at least). So is there any escaping mechanism to let me include weird>name using the #include <> syntax?










share|improve this question



















  • 22





    Step 1: rename the file. Step 2: done.

    – Mat
    May 28 at 9:16






  • 4





    How about adding the file as #include "weird>name"?

    – Shravan40
    May 28 at 9:17






  • 2





    In practice it might search in one additional path, which would only be a problem if you have files called weird>name in multiple places. If that's true, you need to sort your filenames out and stop doing dumb things :-P The correct answer should be "who cares? just don't do that"

    – Jonathan Wakely
    May 28 at 9:25






  • 1





    "but they have different search paths" - yes, '<>': "The intent of this syntax is to search for the files under control of the implementation." thus you should never have to worry about this. If you're including custom files with '<>' then you're doing it wrong.

    – UKMonkey
    May 28 at 9:38







  • 5





    If you can't rename the file, then create a symbolic link to the file with better name.

    – SKi
    May 28 at 10:58

















13















This is quite a contrived problem, I admit, but here it is.



Suppose you have a file with the > character in its name. This is possible on most Unix systems afaik:



$ touch 'weird>name'
$ ls -l
-rw-r--r-- 1 user user 0 28 Mag 11:05 weird>name


Now, suppose this file contains C/C++ code and you want to include it as an header:



#include <weird>name>

int main()
return weird_function();



Clang gives me the following error:



test.cpp:1:10: fatal error: 'weird' file not found
#include <weird>name>


Of course, since the preprocessor parses the directive up to the first > and looks for the weird file. But, I wonder if some escaping mechanism exists to allow me to include the right file.



So, in C and/or C++, is there a way to include an header file which has the > character in its name?



Edit: Many suggested me why not to use #include "weird>name". I admit that my mind slipped over the quotes syntax while writing the question, but it remains valid because the two syntaxes may ask the compiler to search in different paths (theoretically at least). So is there any escaping mechanism to let me include weird>name using the #include <> syntax?










share|improve this question



















  • 22





    Step 1: rename the file. Step 2: done.

    – Mat
    May 28 at 9:16






  • 4





    How about adding the file as #include "weird>name"?

    – Shravan40
    May 28 at 9:17






  • 2





    In practice it might search in one additional path, which would only be a problem if you have files called weird>name in multiple places. If that's true, you need to sort your filenames out and stop doing dumb things :-P The correct answer should be "who cares? just don't do that"

    – Jonathan Wakely
    May 28 at 9:25






  • 1





    "but they have different search paths" - yes, '<>': "The intent of this syntax is to search for the files under control of the implementation." thus you should never have to worry about this. If you're including custom files with '<>' then you're doing it wrong.

    – UKMonkey
    May 28 at 9:38







  • 5





    If you can't rename the file, then create a symbolic link to the file with better name.

    – SKi
    May 28 at 10:58













13












13








13








This is quite a contrived problem, I admit, but here it is.



Suppose you have a file with the > character in its name. This is possible on most Unix systems afaik:



$ touch 'weird>name'
$ ls -l
-rw-r--r-- 1 user user 0 28 Mag 11:05 weird>name


Now, suppose this file contains C/C++ code and you want to include it as an header:



#include <weird>name>

int main()
return weird_function();



Clang gives me the following error:



test.cpp:1:10: fatal error: 'weird' file not found
#include <weird>name>


Of course, since the preprocessor parses the directive up to the first > and looks for the weird file. But, I wonder if some escaping mechanism exists to allow me to include the right file.



So, in C and/or C++, is there a way to include an header file which has the > character in its name?



Edit: Many suggested me why not to use #include "weird>name". I admit that my mind slipped over the quotes syntax while writing the question, but it remains valid because the two syntaxes may ask the compiler to search in different paths (theoretically at least). So is there any escaping mechanism to let me include weird>name using the #include <> syntax?










share|improve this question
















This is quite a contrived problem, I admit, but here it is.



Suppose you have a file with the > character in its name. This is possible on most Unix systems afaik:



$ touch 'weird>name'
$ ls -l
-rw-r--r-- 1 user user 0 28 Mag 11:05 weird>name


Now, suppose this file contains C/C++ code and you want to include it as an header:



#include <weird>name>

int main()
return weird_function();



Clang gives me the following error:



test.cpp:1:10: fatal error: 'weird' file not found
#include <weird>name>


Of course, since the preprocessor parses the directive up to the first > and looks for the weird file. But, I wonder if some escaping mechanism exists to allow me to include the right file.



So, in C and/or C++, is there a way to include an header file which has the > character in its name?



Edit: Many suggested me why not to use #include "weird>name". I admit that my mind slipped over the quotes syntax while writing the question, but it remains valid because the two syntaxes may ask the compiler to search in different paths (theoretically at least). So is there any escaping mechanism to let me include weird>name using the #include <> syntax?







c++ c c-preprocessor language-lawyer






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited May 28 at 9:28









Sneftel

26.1k64582




26.1k64582










asked May 28 at 9:15









gigabytesgigabytes

1,319925




1,319925







  • 22





    Step 1: rename the file. Step 2: done.

    – Mat
    May 28 at 9:16






  • 4





    How about adding the file as #include "weird>name"?

    – Shravan40
    May 28 at 9:17






  • 2





    In practice it might search in one additional path, which would only be a problem if you have files called weird>name in multiple places. If that's true, you need to sort your filenames out and stop doing dumb things :-P The correct answer should be "who cares? just don't do that"

    – Jonathan Wakely
    May 28 at 9:25






  • 1





    "but they have different search paths" - yes, '<>': "The intent of this syntax is to search for the files under control of the implementation." thus you should never have to worry about this. If you're including custom files with '<>' then you're doing it wrong.

    – UKMonkey
    May 28 at 9:38







  • 5





    If you can't rename the file, then create a symbolic link to the file with better name.

    – SKi
    May 28 at 10:58












  • 22





    Step 1: rename the file. Step 2: done.

    – Mat
    May 28 at 9:16






  • 4





    How about adding the file as #include "weird>name"?

    – Shravan40
    May 28 at 9:17






  • 2





    In practice it might search in one additional path, which would only be a problem if you have files called weird>name in multiple places. If that's true, you need to sort your filenames out and stop doing dumb things :-P The correct answer should be "who cares? just don't do that"

    – Jonathan Wakely
    May 28 at 9:25






  • 1





    "but they have different search paths" - yes, '<>': "The intent of this syntax is to search for the files under control of the implementation." thus you should never have to worry about this. If you're including custom files with '<>' then you're doing it wrong.

    – UKMonkey
    May 28 at 9:38







  • 5





    If you can't rename the file, then create a symbolic link to the file with better name.

    – SKi
    May 28 at 10:58







22




22





Step 1: rename the file. Step 2: done.

– Mat
May 28 at 9:16





Step 1: rename the file. Step 2: done.

– Mat
May 28 at 9:16




4




4





How about adding the file as #include "weird>name"?

– Shravan40
May 28 at 9:17





How about adding the file as #include "weird>name"?

– Shravan40
May 28 at 9:17




2




2





In practice it might search in one additional path, which would only be a problem if you have files called weird>name in multiple places. If that's true, you need to sort your filenames out and stop doing dumb things :-P The correct answer should be "who cares? just don't do that"

– Jonathan Wakely
May 28 at 9:25





In practice it might search in one additional path, which would only be a problem if you have files called weird>name in multiple places. If that's true, you need to sort your filenames out and stop doing dumb things :-P The correct answer should be "who cares? just don't do that"

– Jonathan Wakely
May 28 at 9:25




1




1





"but they have different search paths" - yes, '<>': "The intent of this syntax is to search for the files under control of the implementation." thus you should never have to worry about this. If you're including custom files with '<>' then you're doing it wrong.

– UKMonkey
May 28 at 9:38






"but they have different search paths" - yes, '<>': "The intent of this syntax is to search for the files under control of the implementation." thus you should never have to worry about this. If you're including custom files with '<>' then you're doing it wrong.

– UKMonkey
May 28 at 9:38





5




5





If you can't rename the file, then create a symbolic link to the file with better name.

– SKi
May 28 at 10:58





If you can't rename the file, then create a symbolic link to the file with better name.

– SKi
May 28 at 10:58












3 Answers
3






active

oldest

votes


















18















So, in C and/or C++, is there a way to include an header file which has the > character in its name?




Yes:



#include "weird>name"



So is there any escaping mechanism to let me include weird>name using the #include <> syntax?




No. The characters between the < and > must be "any member of the source character set except new-line and >" ([lex.header]). Any escaped form of > would still be a way to represent the > character, which is not allowed. Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).



The #include " q-char-sequence " form does allow the > character to appear, even though it might get reprocessed as #include <...> if searching as "..." fails ([cpp.include] p3).



The preprocessor also allows another form ([cpp.include] p4](http://eel.is/c++draft/cpp.include#4)), but its effect are implementation-defined, and the implementations I tried do not allow joining weird and > and name into a single preprocessor-token that can then be included






share|improve this answer




















  • 2





    I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

    – gigabytes
    May 28 at 9:18






  • 22





    Next up: How can I include a header file that contains " in its name?

    – Quentin
    May 28 at 9:18






  • 1





    @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

    – BoBTFish
    May 28 at 9:26






  • 1





    But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

    – gigabytes
    May 28 at 9:29






  • 2





    I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

    – T.C.
    May 28 at 13:11


















7














Ask the author of your compiler.



The C and C++ standards grant a lot of leeway to implementations over the interpretation of #include directives. There's no requirement that #include <foo.h> causes the inclusion of a file called "foo.h". For instance, a compiler can choose to ROT13 all the source file names if it likes. And for non-alphanumeric characters, the implementation can identify and remap certain character sequences. So if there were a platform where > regularly showed up in filenames, it's likely that a compiler for that platform would specify that, say, g or something would be remapped to >. But the standard doesn't mandate a particular encoding.



Incidentally, the implementation could also just choose to allow #include <weird>name>. Since that is not well-formed under the language standards, an implementation is free to define a meaning for it as an extension.






share|improve this answer
































    1














    Try below syntax:



    #include "weird>name"





    share|improve this answer










    New contributor



    Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
    Check out our Code of Conduct.



















      Your Answer






      StackExchange.ifUsing("editor", function ()
      StackExchange.using("externalEditor", function ()
      StackExchange.using("snippets", function ()
      StackExchange.snippets.init();
      );
      );
      , "code-snippets");

      StackExchange.ready(function()
      var channelOptions =
      tags: "".split(" "),
      id: "1"
      ;
      initTagRenderer("".split(" "), "".split(" "), channelOptions);

      StackExchange.using("externalEditor", function()
      // Have to fire editor after snippets, if snippets enabled
      if (StackExchange.settings.snippets.snippetsEnabled)
      StackExchange.using("snippets", function()
      createEditor();
      );

      else
      createEditor();

      );

      function createEditor()
      StackExchange.prepareEditor(
      heartbeatType: 'answer',
      autoActivateHeartbeat: false,
      convertImagesToLinks: true,
      noModals: true,
      showLowRepImageUploadWarning: true,
      reputationToPostImages: 10,
      bindNavPrevention: true,
      postfix: "",
      imageUploader:
      brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
      contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
      allowUrls: true
      ,
      onDemand: true,
      discardSelector: ".discard-answer"
      ,immediatelyShowMarkdownHelp:true
      );



      );













      draft saved

      draft discarded


















      StackExchange.ready(
      function ()
      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f56338775%2fhow-can-i-include-a-header-file-that-contains-in-its-name%23new-answer', 'question_page');

      );

      Post as a guest















      Required, but never shown

























      3 Answers
      3






      active

      oldest

      votes








      3 Answers
      3






      active

      oldest

      votes









      active

      oldest

      votes






      active

      oldest

      votes









      18















      So, in C and/or C++, is there a way to include an header file which has the > character in its name?




      Yes:



      #include "weird>name"



      So is there any escaping mechanism to let me include weird>name using the #include <> syntax?




      No. The characters between the < and > must be "any member of the source character set except new-line and >" ([lex.header]). Any escaped form of > would still be a way to represent the > character, which is not allowed. Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).



      The #include " q-char-sequence " form does allow the > character to appear, even though it might get reprocessed as #include <...> if searching as "..." fails ([cpp.include] p3).



      The preprocessor also allows another form ([cpp.include] p4](http://eel.is/c++draft/cpp.include#4)), but its effect are implementation-defined, and the implementations I tried do not allow joining weird and > and name into a single preprocessor-token that can then be included






      share|improve this answer




















      • 2





        I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

        – gigabytes
        May 28 at 9:18






      • 22





        Next up: How can I include a header file that contains " in its name?

        – Quentin
        May 28 at 9:18






      • 1





        @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

        – BoBTFish
        May 28 at 9:26






      • 1





        But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

        – gigabytes
        May 28 at 9:29






      • 2





        I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

        – T.C.
        May 28 at 13:11















      18















      So, in C and/or C++, is there a way to include an header file which has the > character in its name?




      Yes:



      #include "weird>name"



      So is there any escaping mechanism to let me include weird>name using the #include <> syntax?




      No. The characters between the < and > must be "any member of the source character set except new-line and >" ([lex.header]). Any escaped form of > would still be a way to represent the > character, which is not allowed. Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).



      The #include " q-char-sequence " form does allow the > character to appear, even though it might get reprocessed as #include <...> if searching as "..." fails ([cpp.include] p3).



      The preprocessor also allows another form ([cpp.include] p4](http://eel.is/c++draft/cpp.include#4)), but its effect are implementation-defined, and the implementations I tried do not allow joining weird and > and name into a single preprocessor-token that can then be included






      share|improve this answer




















      • 2





        I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

        – gigabytes
        May 28 at 9:18






      • 22





        Next up: How can I include a header file that contains " in its name?

        – Quentin
        May 28 at 9:18






      • 1





        @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

        – BoBTFish
        May 28 at 9:26






      • 1





        But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

        – gigabytes
        May 28 at 9:29






      • 2





        I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

        – T.C.
        May 28 at 13:11













      18












      18








      18








      So, in C and/or C++, is there a way to include an header file which has the > character in its name?




      Yes:



      #include "weird>name"



      So is there any escaping mechanism to let me include weird>name using the #include <> syntax?




      No. The characters between the < and > must be "any member of the source character set except new-line and >" ([lex.header]). Any escaped form of > would still be a way to represent the > character, which is not allowed. Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).



      The #include " q-char-sequence " form does allow the > character to appear, even though it might get reprocessed as #include <...> if searching as "..." fails ([cpp.include] p3).



      The preprocessor also allows another form ([cpp.include] p4](http://eel.is/c++draft/cpp.include#4)), but its effect are implementation-defined, and the implementations I tried do not allow joining weird and > and name into a single preprocessor-token that can then be included






      share|improve this answer
















      So, in C and/or C++, is there a way to include an header file which has the > character in its name?




      Yes:



      #include "weird>name"



      So is there any escaping mechanism to let me include weird>name using the #include <> syntax?




      No. The characters between the < and > must be "any member of the source character set except new-line and >" ([lex.header]). Any escaped form of > would still be a way to represent the > character, which is not allowed. Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).



      The #include " q-char-sequence " form does allow the > character to appear, even though it might get reprocessed as #include <...> if searching as "..." fails ([cpp.include] p3).



      The preprocessor also allows another form ([cpp.include] p4](http://eel.is/c++draft/cpp.include#4)), but its effect are implementation-defined, and the implementations I tried do not allow joining weird and > and name into a single preprocessor-token that can then be included







      share|improve this answer














      share|improve this answer



      share|improve this answer








      edited May 28 at 13:16

























      answered May 28 at 9:16









      Jonathan WakelyJonathan Wakely

      135k18248420




      135k18248420







      • 2





        I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

        – gigabytes
        May 28 at 9:18






      • 22





        Next up: How can I include a header file that contains " in its name?

        – Quentin
        May 28 at 9:18






      • 1





        @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

        – BoBTFish
        May 28 at 9:26






      • 1





        But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

        – gigabytes
        May 28 at 9:29






      • 2





        I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

        – T.C.
        May 28 at 13:11












      • 2





        I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

        – gigabytes
        May 28 at 9:18






      • 22





        Next up: How can I include a header file that contains " in its name?

        – Quentin
        May 28 at 9:18






      • 1





        @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

        – BoBTFish
        May 28 at 9:26






      • 1





        But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

        – gigabytes
        May 28 at 9:29






      • 2





        I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

        – T.C.
        May 28 at 13:11







      2




      2





      I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

      – gigabytes
      May 28 at 9:18





      I admit that my mind slipped over the "file" syntax, but the question remains valid even if a little less fun, because <> and "" may search in different paths

      – gigabytes
      May 28 at 9:18




      22




      22





      Next up: How can I include a header file that contains " in its name?

      – Quentin
      May 28 at 9:18





      Next up: How can I include a header file that contains " in its name?

      – Quentin
      May 28 at 9:18




      1




      1





      @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

      – BoBTFish
      May 28 at 9:26





      @gigabytes This is genuinely the only solution because of the way the language grammar is defined! nongnu.org/hcb/#header-name

      – BoBTFish
      May 28 at 9:26




      1




      1





      But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

      – gigabytes
      May 28 at 9:29





      But this is evidently not a self-respecting question, so you can suppose we are not using a self-respecting compiler :P

      – gigabytes
      May 28 at 9:29




      2




      2





      I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

      – T.C.
      May 28 at 13:11





      I'm not sure the second part is right. Any attempt to escape > would not be actually a > character. That said, the preprocessor is not required to recognize any escape sequences in there.

      – T.C.
      May 28 at 13:11













      7














      Ask the author of your compiler.



      The C and C++ standards grant a lot of leeway to implementations over the interpretation of #include directives. There's no requirement that #include <foo.h> causes the inclusion of a file called "foo.h". For instance, a compiler can choose to ROT13 all the source file names if it likes. And for non-alphanumeric characters, the implementation can identify and remap certain character sequences. So if there were a platform where > regularly showed up in filenames, it's likely that a compiler for that platform would specify that, say, g or something would be remapped to >. But the standard doesn't mandate a particular encoding.



      Incidentally, the implementation could also just choose to allow #include <weird>name>. Since that is not well-formed under the language standards, an implementation is free to define a meaning for it as an extension.






      share|improve this answer





























        7














        Ask the author of your compiler.



        The C and C++ standards grant a lot of leeway to implementations over the interpretation of #include directives. There's no requirement that #include <foo.h> causes the inclusion of a file called "foo.h". For instance, a compiler can choose to ROT13 all the source file names if it likes. And for non-alphanumeric characters, the implementation can identify and remap certain character sequences. So if there were a platform where > regularly showed up in filenames, it's likely that a compiler for that platform would specify that, say, g or something would be remapped to >. But the standard doesn't mandate a particular encoding.



        Incidentally, the implementation could also just choose to allow #include <weird>name>. Since that is not well-formed under the language standards, an implementation is free to define a meaning for it as an extension.






        share|improve this answer



























          7












          7








          7







          Ask the author of your compiler.



          The C and C++ standards grant a lot of leeway to implementations over the interpretation of #include directives. There's no requirement that #include <foo.h> causes the inclusion of a file called "foo.h". For instance, a compiler can choose to ROT13 all the source file names if it likes. And for non-alphanumeric characters, the implementation can identify and remap certain character sequences. So if there were a platform where > regularly showed up in filenames, it's likely that a compiler for that platform would specify that, say, g or something would be remapped to >. But the standard doesn't mandate a particular encoding.



          Incidentally, the implementation could also just choose to allow #include <weird>name>. Since that is not well-formed under the language standards, an implementation is free to define a meaning for it as an extension.






          share|improve this answer















          Ask the author of your compiler.



          The C and C++ standards grant a lot of leeway to implementations over the interpretation of #include directives. There's no requirement that #include <foo.h> causes the inclusion of a file called "foo.h". For instance, a compiler can choose to ROT13 all the source file names if it likes. And for non-alphanumeric characters, the implementation can identify and remap certain character sequences. So if there were a platform where > regularly showed up in filenames, it's likely that a compiler for that platform would specify that, say, g or something would be remapped to >. But the standard doesn't mandate a particular encoding.



          Incidentally, the implementation could also just choose to allow #include <weird>name>. Since that is not well-formed under the language standards, an implementation is free to define a meaning for it as an extension.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited May 28 at 9:46

























          answered May 28 at 9:36









          SneftelSneftel

          26.1k64582




          26.1k64582





















              1














              Try below syntax:



              #include "weird>name"





              share|improve this answer










              New contributor



              Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
              Check out our Code of Conduct.























                1














                Try below syntax:



                #include "weird>name"





                share|improve this answer










                New contributor



                Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                Check out our Code of Conduct.





















                  1












                  1








                  1







                  Try below syntax:



                  #include "weird>name"





                  share|improve this answer










                  New contributor



                  Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.









                  Try below syntax:



                  #include "weird>name"






                  share|improve this answer










                  New contributor



                  Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.








                  share|improve this answer



                  share|improve this answer








                  edited May 28 at 10:53









                  Nick Savenia

                  848819




                  848819






                  New contributor



                  Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.








                  answered May 28 at 10:34









                  Javed KhanJaved Khan

                  195




                  195




                  New contributor



                  Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.




                  New contributor




                  Javed Khan is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                  Check out our Code of Conduct.





























                      draft saved

                      draft discarded
















































                      Thanks for contributing an answer to Stack Overflow!


                      • Please be sure to answer the question. Provide details and share your research!

                      But avoid


                      • Asking for help, clarification, or responding to other answers.

                      • Making statements based on opinion; back them up with references or personal experience.

                      To learn more, see our tips on writing great answers.




                      draft saved


                      draft discarded














                      StackExchange.ready(
                      function ()
                      StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f56338775%2fhow-can-i-include-a-header-file-that-contains-in-its-name%23new-answer', 'question_page');

                      );

                      Post as a guest















                      Required, but never shown





















































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown

































                      Required, but never shown














                      Required, but never shown












                      Required, but never shown







                      Required, but never shown







                      Popular posts from this blog

                      Category:9 (number) SubcategoriesMedia in category "9 (number)"Navigation menuUpload mediaGND ID: 4485639-8Library of Congress authority ID: sh85091979ReasonatorScholiaStatistics

                      Circuit construction for execution of conditional statements using least significant bitHow are two different registers being used as “control”?How exactly is the stated composite state of the two registers being produced using the $R_zz$ controlled rotations?Efficiently performing controlled rotations in HHLWould this quantum algorithm implementation work?How to prepare a superposed states of odd integers from $1$ to $sqrtN$?Why is this implementation of the order finding algorithm not working?Circuit construction for Hamiltonian simulationHow can I invert the least significant bit of a certain term of a superposed state?Implementing an oracleImplementing a controlled sum operation

                      Magento 2 “No Payment Methods” in Admin New OrderHow to integrate Paypal Express Checkout with the Magento APIMagento 1.5 - Sales > Order > edit order and shipping methods disappearAuto Invoice Check/Money Order Payment methodAdd more simple payment methods?Shipping methods not showingWhat should I do to change payment methods if changing the configuration has no effects?1.9 - No Payment Methods showing upMy Payment Methods not Showing for downloadable/virtual product when checkout?Magento2 API to access internal payment methodHow to call an existing payment methods in the registration form?