C++ Comment passer argument de ligne de commande pour lire fichier txt
Ce que j'ai essayé de faire, c'est...
1) pour lire des fichiers txt en argument de ligne de commande,
2) d'utiliser des chaînes de caractères dans les fichiers txt que les arguments de la méthode main (ou quelle que soit la méthode que vous devez à appeler).
Par exemple, il y a deux fichiers txt, dont l'un est nommé character.txt et les autres match.txt.
Le contenu des fichiers serait comme ça.
character.txt
//This comprises of six rows. Each of the rows has two string values
Goku Saiyan
Gohan Half_Saiyan
Kuririn Human
Piccolo Namekian
Frieza villain
Cell villain
match.txt
//This comprises of three rows, each of them is one string value
Goku Piccolo
Gohan Cell
Kuririn Frieza
Si j'utilise ces cordes, sans utiliser la ligne de commande, j'aimerais déclarer les chaînes dans character.txt comme cette.
typedef string name; //e.g. Goku
typedef string type; //e.g. Saiyan, Human, etc
Maintenant, je suis à la recherche de la façon de lire et d'envoyer des valeurs de chaîne à partir de fichiers txt comme celles ci-dessus, et de les utiliser pour des fonctions à l'intérieur de la méthode main, l'idéal de cette façon.
int main(int argc, char *argv)
{
for (int i = 1; i < argc; i++) {
String name = *argv[i]; //e.g. Goku
String type = *argv[i]; //e.g. Saiyan, Human, etc
String match = * argv[i]; //Goku Piccolo
//I don't think any of the statements above would be correct.
//I'm just searching for how to use string values of txt files in such a way
cout << i << " " << endl; //I'd like to show names, types or matchs inside the double quotation mark.
}
}
Idéalement, j'aimerais appeler cette méthode dans cette voie.
Selon ce site web., au moins je comprends bien, il est possible d'utiliser des arguments de ligne de commande avec le C++, mais je ne trouve pas plus d'informations. J'apprécierais si vous auriez des conseils sur.
PS. Je suis à l'aide de Windows et des Blocs de Code.
OriginalL'auteur Hiroki | 2015-05-09
Vous devez vous connecter pour publier un commentaire.
Considère que vous voulez juste pour lire le contenu des fichiers et des processus, vous pouvez commencer avec ce code (Sans les erreurs de contrôles tho). Il obtient tout simplement les noms de fichiers en ligne de commande et lit le contenu du fichier en 2 vecteurs. Alors vous pouvez simplement le processus de ces vecteurs u besoin.
OriginalL'auteur str14821
pour voir comment utiliser les arguments de ligne de commande de regarder cela.
http://www.cplusplus.com/articles/DEN36Up4/
vous ne pouvez pas utiliser le contenu du dossier que vous avez transmis à votre application par le biais d'arguments de ligne de commande. seul le nom du fichier est transmis à l'application.
vous devez ouvrir le fichier à l'aide de ce nom et de lire son contenu. jetez un oeil à ceci:
http://www.cplusplus.com/doc/tutorial/files/
OriginalL'auteur KooKoo
Vous définissez
main
prototype de manière incorrecte. Vous avez également besoin d'std::ifstream
de lire les fichiers.Si vous vous attendez exactement deux arguments, vous pouvez vérifier
argc
et d'en extraire des arguments directement:Si vous vous attendez à ce nombre quelconque de fichiers, que vous avez besoin d'une boucle et d'un tableau pour les sauver, c'est à dire
vector
:Et n'oubliez pas de vérifier si les fichiers sont entretoises.
OriginalL'auteur myaut
D'abord la fonction principale prototype devrait être
OU
Seconde après la récupération des noms de fichiers dans la fonction principale, vous devez ouvrir chaque fichier et extraire son contenu
Troisième Exemple de code
OriginalL'auteur Marware