Da du jetzt nicht direkt gesagt hast um welche Programmiersprache es sich handelt ein generischer Vorschlag: Falls die verwendete Sprache es ermöglicht einen String in lowercase umzuwandeln könntest du das machen und dann vorher und nachher vergleichen. Wenn sie gleich sind war zuvor kein Großbuchstabe vorhanden
lol,
ich idiot... ihr habt recht; ich hätte erwähnen sollen, dass es sich um c++ handelt..
naja. Ich kann auch eine sehr komplexe schleife machen die den string zeichenweise abspeichers und jedes Zeichen einzeln überprüft. Ich wollte nur wissen ob einer von euch so ne art "pussymethode" kennt, womit man sich leichter tut.
lol,
ich idiot... ihr habt recht; ich hätte erwähnen sollen, dass es sich um c++ handelt..
naja. Ich kann auch eine sehr komplexe schleife machen die den string zeichenweise abspeichers und jedes Zeichen einzeln überprüft. Ich wollte nur wissen ob einer von euch so ne art "pussymethode" kennt, womit man sich leichter tut.
cpp.net:
bool ContainsUpper(string^ str)//oder so ähnlich :S
{
for(int i = 0 ; i<str.Length ;i++) if (str[i] <=90) return true;
return false;
}
achja, für containslower einfach den namen der funktion ändern und anstatt "<=90" ">90" schreiben
ums zu verstehn einfach die ascii tabelle ankucken, wenns nich tut - einfach meckern ^^
/edit, ansonsten gibts da sicherlich auch schon funktionen für, ich kenn sie aber nich auswendig :<
cpp.net:
bool ContainsUpper(string^ str)//oder so ähnlich :S
{
for(int i = 0 ; i<str.Length ;i++) if (str[i] <=90) return true;
return false;
}
achja, für containslower einfach den namen der funktion ändern und anstatt "<=90" ">90" schreiben
ums zu verstehn einfach die ascii tabelle ankucken, wenns nich tut - einfach meckern ^^
/edit, ansonsten gibts da sicherlich auch schon funktionen für, ich kenn sie aber nich auswendig :<
So was habe ich jetzt absichtlich nicht gebracht, weil ich nicht sicher war, ob es ein Ascii oder Unicode String ist
Wie wärs denn einfach, wenn man den original string zusätzlich in lowercase umwandelt und die beiden dann vergleicht?
mit php:
if ($string == stringtolower($string) return true; // String enthält keine Großbuchstaben
Weil bei deiner Methode, virus, wird das ergebnis auch dann true sein, wenn es kein Buchstabe ist sondern ein anderes zeichen aus der ascii tabelle, dessen Wert kleiner 90 ist.
//Edit: sehe gerade das rattlz die gleiche idee auch schon gepostet hat ^^
Jetzt solltest du uns noch verraten ob du die String Class aus der string lib benutzt oder den String Typ aus der cstring lib, im ersten fall kannst du die tolower methode verwenden und wie bereits mehrfach vorgeschlagen mit dem alten String vergleichen, im zweiten fall suchst du dir die Entsprechende CString Function raus und machst das gleiche, ich bin mir nicht ganz sicher aber ich glaube das die String classe auch eine containslower/upper Methode hat, am besten schaust da mal nach.