2013-05-19 1 views
0

J'ai une question rapide que je pense a une réponse rapide. J'ai une variable de chaîne et j'ai besoin qu'elle soit remplie avec des caractères prédéterminés. Le problème est, j'ai beaucoup à y mettre. Comment puis-je remplir cette chaîne avec tout ce texte sans avoir un énorme ("lotsandlotsoftext"); quand je le déclare? Je ne veux pas que ce soit dans un fichier texte séparé.(C++) Initialiser la chaîne avec la quantité énorme de texte, pas de txt

Merci :)

+7

Si vous ne voulez pas que ce soit dans un fichier séparé, il doit être dans votre fichier source. Il n'y a pas de fonction 'get_my_string_from_nowhere'. –

+0

Est-ce "oneBigBlockOfText" ou peut-il être agrégé d'une manière ou d'une autre, comme la chaîne s = "abc"; s + = "def"; ... –

+0

Je n'ai jamais joué avec des fichiers de ressources ou d'en-têtes. Y a-t-il quelque chose que je peux mettre là-dedans et que mon programme en remplisse une chaîne? Je ne le veux pas dans mon fichier cpp principal. – mrg95

Répondre

-1

Utilisez une ressource de chaîne pour charger votre std :: string.

1) Ajouter chaîne à l'éditeur de ressources: How to Add a string resource in visual studio 2008

2) puis utilisez LoadString

3) puis utiliser cette LoadedString comme paramètre à votre constructeur

TCHAR buf[<yourverylongstringlength>]; 
    LoadString(hInst, IDS_YOURSTRINGRESOURCE, buf, sizeof(buf)/sizeof(TCHAR)); 
    const std::string YourCPlusPlusString = buf; 

MSDN LoadString

Example of Using LoadString

+0

Ce n'est pas ce que je cherche. chaque personnage est différent – mrg95

+0

ahhh gotchya. Vous ne voulez pas qu'il soit dans un autre fichier et vous ne savez pas quoi le taper? D'où voulez-vous que le complicateur l'obtienne alors? –

+0

Ce seront les mêmes caractères à chaque exécution du programme. Je ne veux tout simplement pas remplir tout mon projet ou exiger un fichier text.txt avec mon .exe – mrg95

Questions connexes