Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

int in char, ohne Umwandlung in ASCII-Zeichen

Frage Entwicklung C und C++

Mitglied: Maik87

Maik87 (Level 2) - Jetzt verbinden

13.03.2007, aktualisiert 23.03.2007, 5049 Aufrufe, 4 Kommentare

Hallo,
folgendes Problem ist gegeben, vllt habt ihr ja eine Idee:

#define ZEILENLAENGE 120

system("mode con cols=ZEILENLANGE");

Klar, ZEILENLAENGE wird nicht ersetzt, weil es in den Anführungsstrichen steht. Bloß wie kann ich es sonst machen?? Eine Verkettung (strcat) geht auch nicht, weil das wohl nur für char ist, meine ZL aber ein int ist. Gibt es auch so einen Befehl der alle Typen kann oder hat wer noch eine andere Idee??
Mitglied: Guenni
14.03.2007 um 19:39 Uhr
@Maik87

Hi,

vielleicht nur 'n Schreibfehler?

#define ZEILENLAENGE 120 <-- mit "AE"

system("... ZEILENLANGE") <-- nur mit "A"

Wenn man mit #define eine Konstante vereinbart, ist das eigentlich schon
ein Typ, der alles kann, da im Quellcode lediglich eine Textersetzung ohne Rücksicht
auf Datentyp vorgenommen wird.

Als Beispiel:

#define MAX(x,y) x<y?y:x

MAX(Ausdruck1,Ausdruck2) gibt den jeweils größeren Wert zurück, egal ob int oder char.

Konstanten vereinbart man normalerweise mit...

const DATENTYP KONSTANTE=WERT

... heißt:

const int ZEILENLAENGE=120;

Wäre, was mir jetzt so einfällt.

Gruß
Günni
Bitte warten ..
Mitglied: Maik87
15.03.2007 um 22:43 Uhr
vielleicht nur 'n Schreibfehler?

#define ZEILENLAENGE 120 <-- mit
"AE"

system("... ZEILENLANGE") <--
nur mit "A"

Nein, war einfach nur in Eile getippt, im Code ist es richtig.

Wenn man mit #define eine Konstante
vereinbart, ist das eigentlich schon
ein Typ, der alles kann, da im Quellcode
lediglich eine Textersetzung ohne
Rücksicht
auf Datentyp vorgenommen wird.

Stimmt, geht aber nur, wenn diese Konstante nicht in einem String, also zwischen zwei Anführungsstrichen, steht. Tut Sie das, überliest der Präprozessor das.


Konstanten vereinbart man normalerweise
mit...

const DATENTYP KONSTANTE=WERT

... heißt:

const int ZEILENLAENGE=120;

Bringt nichts, da der in dem String keine Variablen akzeptiert.


Wäre, was mir jetzt so einfällt.


vielen Dank für deine Mühe.


Ich kann Morgen sicherlich eine Lösung posten, da mein Kollege meint, er habe eine passende Funktion gefunden, die ich Morgen bekomme. Habe mir vorerst wie folgt behofen:

char char_in_int(int ziffer)
{
switch (ziffer)
{
case 1:
return '1';
break;

(...)
}
}
Bitte warten ..
Mitglied: Maik87
22.03.2007 um 17:15 Uhr
hallo nochmal,
folgende lösung ist soooo simpel

int_var=atoi(char_var)

und

char_var=itoa(int_var)

So werden die Zahlen 1zu1 übertragen, ohne dass sie als ASCII-Wert angesehen und umgewandelt werden.
Bitte warten ..
Mitglied: Guenni
23.03.2007 um 19:27 Uhr
@Maik87

Hi,

wieder was dazugelernt. Dank!

Grüße
Günni
Bitte warten ..
Neuester Wissensbeitrag
Ähnliche Inhalte
VB for Applications
gelöst VBA Text mit Format übertragen und Zeichen ergänzen (11)

Frage von Dau12345 zum Thema VB for Applications ...

Batch & Shell
gelöst Dos-Box, seltsame(s) Zeichen - Was und woher? (6)

Frage von Franz-Josef-II zum Thema Batch & Shell ...

Speicherkarten
gelöst USB Stick: Dateien mit komischen Zeichen im Namen, unlesbar (8)

Frage von pablovic zum Thema Speicherkarten ...

Batch & Shell
gelöst Powershell - Pfadlänge mit mehr als 260 Zeichen (10)

Frage von Bugger zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Windows Userverwaltung
Ausgeschiedene Mitarbeiter im Unternehmen - was tun mit den AD Konten? (33)

Frage von patz223 zum Thema Windows Userverwaltung ...

LAN, WAN, Wireless
FritzBox, zwei Server, verschiedene Netze (21)

Frage von DavidGl zum Thema LAN, WAN, Wireless ...

Viren und Trojaner
Aufgepasst: Neue Ransomware Goldeneye verbreitet sich rasant (20)

Link von Penny.Cilin zum Thema Viren und Trojaner ...

Windows Netzwerk
Windows 10 RDP geht nicht (18)

Frage von Fiasko zum Thema Windows Netzwerk ...