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, 5072 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 ..
Ähnliche Inhalte
Neue Wissensbeiträge
Tipps & Tricks

Wie Hackt man sich am besten in ein Computernetzwerk ein

(29)

Erfahrungsbericht von Herbrich19 zum Thema Tipps & Tricks ...

Humor (lol)

Bester Vorschlag eines Supporttechnikers ever: APC

(15)

Erfahrungsbericht von DerWoWusste zum Thema Humor (lol) ...

Windows Server

Exchange 2010 Active Directory und Windows Server 2016

(4)

Erfahrungsbericht von Herbrich19 zum Thema Windows Server ...

Heiß diskutierte Inhalte
Internet
gelöst Mitarbeiter surft auf unerwünschter Seite - Wie damit umgehen? (44)

Frage von sabines zum Thema Internet ...

Netzwerke
Wie erstelle ich ein Intranet (19)

Frage von Leonardnet zum Thema Netzwerke ...

LAN, WAN, Wireless
gelöst Eintägige Netzwerkunterbrechung trotz Backupleitung (15)

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

Windows Server
Server 2012 R2 - Zugriff Verweigert bei jeglicher Tätigkeit (13)

Frage von DarkLevi zum Thema Windows Server ...