online compiler and debugger for c/c++

code. compile. run. debug. share.
Source Code    Language
''' 2 Zeilen foo ''' def createTestFiles(): ''' als aller erstes machen wir die beiden dateien ''' f = open("file1.txt","w") f.write("EXT: id=\"testdomain/web\" logo=\"andere-testdomain.com/8050\" group-title=\"DE: Horizont\n") f.write("http://testdomain.test/55555\n") f.write("EXT: id=\"testdomain/local\" logo=\"andere-testdomain.com/5030\" group-title=\"DE: Berlin\n") f.write("http://testdomain.test/66666\n") f.close() f = open("file2.txt", "w") f.write("EXT: id=\"testdomain/web\" logo=\"andere-testdomain.com/8050\" group-title=\"DE: Horizont\n") f.write("http://testdomain.test/65984\n") f.write("EXT: id=\"testdomain/local\" logo=\"andere-testdomain.com/5030\" group-title=\"DE: Berlin\n") f.write("http://testdomain.test/31347\n") f.write("EXT: id=\"shouldbeignored.test\" logo=\"shouldbeignored.test\" group-title=\"DE: Berlin\n") f.write("http://shouldbeignored.test/654521\n") f.close() def readRecords(file): ''' Wir wissen, dann ein Datensatz (aka Record) aus zwei Zeilen besteht Zeile 1 beginnt immer gleich, damit erkennen wir den Anfang Wir lesen den bzw. die Datensätze in eine Liste ''' f = open(file, "r") records = [] line = f.readline() while line: if (line.startswith("EXT:")): records.append([line, f.readline()]) line = f.readline() return records def writeRecords(file, records): ''' kleiner Helfer um eine Datensatzliste zu schreiben ''' with open(file, "w") as f: for record in records: f.write(record[0]) f.write(record[1]) def main(): ''' Hauptprogramm ''' createTestFiles() records1 = readRecords("file1.txt") records2 = readRecords("file2.txt") for record1 in records1: ext1 = record1[0] uri1 = record1[1] for record2 in records2: ext2 = record2[0] uri2 = record2[1] equalExt = ext1 == ext2 equalUri = uri1 == uri2 if (equalExt != equalUri): # wenn eine von beiden anders updaten, sonst nicht # hinweis ich glaube ja, dass das nicht ganz ok ist print("updating record:\n{}{}to:\n{}{}".format(ext1, uri1, ext2, uri2)) record1[0] = record2[0] record1[1] = record2[1] #ok nun schreiben wir das Ergebnis noch eine neue Datei writeRecords("file3.txt", records1) # hier geht es los main()
EXT: id="testdomain/web" logo="andere-testdomain.com/8050" group-title="DE: Horizont http://testdomain.test/55555 EXT: id="testdomain/local" logo="andere-testdomain.com/5030" group-title="DE: Berlin http://testdomain.test/66666
EXT: id="testdomain/web" logo="andere-testdomain.com/8050" group-title="DE: Horizont http://testdomain.test/65984 EXT: id="testdomain/local" logo="andere-testdomain.com/5030" group-title="DE: Berlin http://testdomain.test/31347 EXT: id="shouldbeignored.test" logo="shouldbeignored.test" group-title="DE: Berlin http://shouldbeignored.test/654521
EXT: id="testdomain/web" logo="andere-testdomain.com/8050" group-title="DE: Horizont http://testdomain.test/65984 EXT: id="testdomain/local" logo="andere-testdomain.com/5030" group-title="DE: Berlin http://testdomain.test/31347

Compiling Program...

Command line arguments:
Standard Input: Interactive Console Text

                

                

Program is not being debugged. Click "Debug" button to start program in debug mode.

#FunctionFile:Line
VariableValue
RegisterValue
ExpressionValue