Problem med char i C++

Tags:    c++ .net c#

En fil ved navn test.txt indeholder f.eks. følgende tekst

Dette^er^C++

Jeg vil gerne lave et program der kan vise teksten uden ^'erne. Men min compiler (Microsoft Visual C++) siger:

filnavn.cpp(11) : error C2440: '=' : cannot convert from 'char [2] to 'char'
This conversion requires a reinterpret_cast, a C-style cast or function-style cast

Hvad skal jeg gøre? Håber der er nogen der kan hjælpe mig

Her er koden:

#include <iostream.h>
#include <fstream.h>

void main(void) {

ifstream infile("test.txt");

char tegn;
char fjern;

fjern = "^";

while (! infile.eof()) {
tegn = infile.get();

if (tegn == fjern) {

} else {
cout << tegn;

}
}

cout << endl;

}

[Redigeret d. 10/06-03 15:34:38 af Peter Haagerup]



Måske er det bare mig, der husker forkert, men prøv at erstat " med '
(¯`·._.·[Brian Hvarregaard]·._.·´¯)



jo det er rigtigt, du skal have skrevet ' ' istedet for " ". For hvis du skriver " " vil tegnet fylde 2 byte (tror jeg nok). Og en chadr, kan kun indholde en byte. Det er derfor den melder fejl. Du kan ikke udskrive 2 byte, som er 1 byte. Hvis du forstår hvad jeg mener.

Med Venlig Hilsen: CHadi
http://chadi.h4f.dk



Ja det er som skrevet før....

#include <iostream.h>
#include <fstream.h>

void main(void) {

ifstream infile("test.txt");

char tegn;
char fjern;

fjern = '^';

while (! infile.eof()) {
tegn = infile.get();

if (tegn == fjern) {

} else {
cout << tegn;

}
}

cout << endl;
}

Janus S. Andersen

*** Livet er smukt ***



t