konvertieren von Zeichenfolgen in Kleinbuchstaben mit tolower () - Funktion in c++
Ich habe eine text-Datei namens aisha
This is a new file I did it for mediu.
Its about Removing stopwords fRom the file
and apply casefolding to it
I Tried doing that many Times
and finally now I could do
und ich habe einen code zu Lesen, dass die text-Datei und speichern Sie es in ein array umwandeln und dann einige Zeichen zu lowrcase
aber was ich will ist zu machen, die die codes liest die Datei als ein string kein char
char myArray[200];
werden
`string myArray[200];`
Ich glaube, ich kann es mit der Funktion tolower()
- und einen string, std
statt dass der lange code, den ich verwendet
aber ich weiß nicht, wie mein code, ein code, der verwendet, dass die Funktionen
mein code ist
#include <iostream>
#include <string>
#include <fstream>
#include<ctype.h>
int main()
{
using namespace std;
ifstream file("aisha.txt");
if(file.is_open())
{
file >> std::noskipws;
char myArray[200];
for(int i = 0; i < 200; ++i)
{
cout<<"i";
if (myArray[i]=='A')
cout<<"a";
if (myArray[i]=='T')
cout<<"t";
if (myArray[i]=='R')
cout<<"r";
else
if (myArray[i]!='I' && myArray[i]!='T' && myArray[i]!='R'&& myArray[i]!='A')
cout<<myArray[i];
}
file.close();
}
system("PAUSE");
return 0;
}
Sah ich, dass die Lösung in diesem Ort
aber ich konnte es anwenden, meinen code
#include <boost/algorithm/string.hpp>
std::string str = "wHatEver";
boost::to_lower(str);
Otherwise, you may use std::transform:
std::string str = "wHatEver";
std::transform(str.begin(), str.end(), str.begin(), ::tolower);
InformationsquelleAutor Aisha Ahmed Ahmed | 2013-12-01
Du musst angemeldet sein, um einen Kommentar abzugeben.
1)ich hoffe, dieses Beispiel hilft Ihnen
Ignorieren, dass
stdafx.h
, es ist eine Microsoft-spezifische Sache, die für vorkompilierte Header und völlig optional.Ich verwende vs2013 aber es funktioniert in allen
wenn u verwenden, leeres Projekt und dann ignorieren andere Weise wird die Arbeit im Jahr 2008 und höher
InformationsquelleAutor user3050633
Den folgenden code kann Ihr problem lösen:
Was sehen Sie in Ihrem terminal, nachdem die Ausführung des kompilierten code?
es ist ein Fehler hier #include <boost/algorithm/string.hpp> - Fehler : no such file directory benutze ich dev c++
Sie haben boost installiert?
Fehler in dieser Lüge #include <boost/algorithm/string.hpp> die dicription : boost/algorithm/string.hpp no such file directory
InformationsquelleAutor weisert
Sehen die Lösungen hier:
std::tolower und Visual Studio 2013
Zum Beispiel, Sie tun können:
InformationsquelleAutor Korchkidu
Den gibt eine Reihe von Möglichkeiten, dies zu tun. Am Ende wollen Sie einen container, der container alle lower-case-strings des input-file-Daten, es ist ziemlich straight-forward. Die Prämisse des Algorithmus, die hier verwendet wird:
std::istream_iterator<std::string>
- pair-Mädchen laden ein Vektor von Zeichenketten aus der Eingabe-Datei.std::for_each
Algorithmus zum aufzählen über jede Zeichenfolge in den Vektor, der die Ausführung einer benutzerdefinierten Aktion.Am Ende, der code sieht ungefähr so aus:
Eingang (aisha.txt)
Ausgabe
Hoffe, das hilft Ihnen heraus.
Ok. Ich zog alle C++11-spezifische code aus, was ist Links, sollte mit jedem C++ - compiler und library set in den letzten zehn Jahren (mindestens). Viel Glück.
ok es funktioniert jetzt >> thanx alot
kein problem. Jedes dieser Dinge, die Sie sehen, vorangestellt
std::
dass Sie nicht vertraut sind mit in den obigen code sollte untersucht werden, auf eine seriöse Quelle, wie http://www.cppreference.com. Sie wahrscheinlich schon wissen, überstd::string
. den rest solltest du mehr darüber erfahren. Nehmen Sie sich die Zeit, dies zu tun; es wird sich auszahlen, big-Zeit später.ja, ich bin immer noch ein biginner und nach Beendigung dieses semester würde ich mein bestes versuchen, zu verstehen und zu lernen, diese codes, weil es macht die Programmierung einfacher
InformationsquelleAutor WhozCraig