Je n'ai pas eu la référence Kernighan et Ritchie C depuis des années, mais je me souviens qu'il y avait une page là-dedans qui parlait de la façon d'entrer des caractères qui n'étaient pas disponibles pour vous. (Chemin du retour dans la journée, certains claviers ne disposaient pas des personnages comme », ~, etc.)Quelle est la combinaison de caractères alternatifs pour le caractère double Citation en C/C++?
Pour être clair, permettez-moi de donner un exemple. Je suis pas recherche d'un moyen d'obtenir des citations dans les chaînes mais plutôt, je veux remplacer:
printf("foo");
avec celle-ci:
printf([alternate sequence]foo[alternate sequence]);
pour les curieux, j'ai un processus automatisé qui consiste à générer un code C/C++, mais la (source fermé) outil commercial Dans le cadre de ses flux de données, les bandes concernées ont tendance à se rétracter et la documentation est assez claire sur le fait qu'elles ne permettent pas d'y échapper.
EDIT:
Wow, je ne l'avais pas prévu une telle réponse lourde. Cela pourrait mériter un peu plus de détails sur mon processus. Je fais des systèmes de construction automatisés, ce qui signifie que je vis avec certaines restrictions quand il s'agit de changer le code que je compile. Pour l'instant, nous devons vivre avec l'hypothèse que je dois obtenir une chaîne, des espaces et tous, dans une définition de préprocesseur. Je suis déjà descendu le 'PreprocessorDefinition' road. Cela m'a laissé avec mon habitude fallback: Définir la chaîne dans l'environnement d'exploitation et que le fichier de projet défini la définition de là:
Preprocessor Definitions WIN32;_DEBUG;THINGIE=$(THINGIE)
L'espoir était que je pouvais contourner le décapage de MSVC des citations à quoi que ce soit remis au construire avec/D à l'aide d'un trigraphes, en faisant quelque chose comme ça dans mon build script d'automatisation:
ENV['THINGIE'] = "??''Yodeling Monkey Nuggets??''"
run_msbuild_command
Je crois qu'il est temps pour un plan C.
Pouvez-vous traiter la sortie du programme? Si vous pouvez le faire, vous pouvez déclarer une séquence de caractères rares pour '' 'et rediriger la sortie de ce programme vers' sed' qui renvoie vos guillemets doubles –
Il est temps de penser à générer un en-tête contenant les guillemets, puis y compris celle où vous avez besoin de la définition du pré-processeur –