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, 5060 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
Off Topic

"Ich habe nichts zu verbergen"

(2)

Erfahrungsbericht von FA-jka zum Thema Off Topic ...

Heiß diskutierte Inhalte
CPU, RAM, Mainboards
Kaufberatung für mind. 8 verschiedene HighEnd-Mainboards (23)

Frage von yperiu zum Thema CPU, RAM, Mainboards ...

Mac OS X
Mac kann nicht im LAN pingen alle anderen schon (19)

Frage von smartino zum Thema Mac OS X ...

Hyper-V
Langsames Netzwerk i210 LAN Karte (10)

Frage von Akcent zum Thema Hyper-V ...

Netzwerke
Abisolierwerkzeug (9)

Frage von SarekHL zum Thema Netzwerke ...