How can I include a header file that contains `>` in its name?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{
margin-bottom:0;
}
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
|
show 7 more comments
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
24
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 calledweird>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
|
show 7 more comments
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
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
c++ c c-preprocessor language-lawyer
edited May 28 at 9:28
Sneftel
27.4k7 gold badges48 silver badges83 bronze badges
27.4k7 gold badges48 silver badges83 bronze badges
asked May 28 at 9:15
gigabytesgigabytes
1,4149 silver badges27 bronze badges
1,4149 silver badges27 bronze badges
24
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 calledweird>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
|
show 7 more comments
24
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 calledweird>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
24
24
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
|
show 7 more comments
3 Answers
3
active
oldest
votes
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 Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).>
would still be a way to represent the >
character, which is not allowed.
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
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
23
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
|
show 7 more comments
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.
add a comment
|
Try below syntax:
#include "weird>name"
add a comment
|
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/4.0/"u003ecc by-sa 4.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
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
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 Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).>
would still be a way to represent the >
character, which is not allowed.
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
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
23
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
|
show 7 more comments
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 Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).>
would still be a way to represent the >
character, which is not allowed.
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
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
23
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
|
show 7 more comments
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 Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).>
would still be a way to represent the >
character, which is not allowed.
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
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 Edit: Implementations are allowed to support implementation-defined escape sequences there though (see [lex.header] p2 and its footnote).>
would still be a way to represent the >
character, which is not allowed.
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
edited May 28 at 13:16
answered May 28 at 9:16
Jonathan WakelyJonathan Wakely
139k19 gold badges261 silver badges436 bronze badges
139k19 gold badges261 silver badges436 bronze badges
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
23
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
|
show 7 more comments
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
23
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
23
23
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
|
show 7 more comments
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.
add a comment
|
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.
add a comment
|
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.
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.
edited May 28 at 9:46
answered May 28 at 9:36
SneftelSneftel
27.4k7 gold badges48 silver badges83 bronze badges
27.4k7 gold badges48 silver badges83 bronze badges
add a comment
|
add a comment
|
Try below syntax:
#include "weird>name"
add a comment
|
Try below syntax:
#include "weird>name"
add a comment
|
Try below syntax:
#include "weird>name"
Try below syntax:
#include "weird>name"
edited May 28 at 10:53
Nick Savenia
1,2889 silver badges22 bronze badges
1,2889 silver badges22 bronze badges
answered May 28 at 10:34
Javed KhanJaved Khan
1572 silver badges8 bronze badges
1572 silver badges8 bronze badges
add a comment
|
add a comment
|
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.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
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
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
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
24
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