9
votes

(c = getchar ())! = eof en C #?

Quel est l'équivalent C # du code C suivant:

while((c = getchar())!= EOF)
   putchar(c);

c c#

1 commentaires

Avez-vous vérifié la documentation de la console.Read? msdn.microsoft.com/en-us/library/system. console.read.aspx


3 Réponses :


1
votes
        int c = -1;
        while ( (c =Console.Read()) >=0)
        {
            Console.WriteLine(c);
        }

3 commentaires

Donc, il n'y a pas d'équivalent réel de C EOF de C dans C # ??


Qu'est-ce qui est avec l'appel à l'écriture? Et pourquoi écrivez-vous des chiffres?


@FAHAD: L'équivalent réel est la valeur constante -1. Ceci est la valeur de retour documentée lorsque vous n'avez pas plus à lire.



3
votes

éteint le dessus de ma tête, xxx

apparemment lire () retourne -1 s'il n'y a rien de plus à lire. Je ne vois pas une constante de EOF définie. Je pourrais être enclin à utiliser > = 0 au lieu de ! = -1 même.

Je ne pense pas que Ansi vs Unicode fait une différence - Vous lisez un numéro d'un appel API et de l'alimenter dans l'autre. Vous pouvez utiliser unicode en C aussi.


1 commentaires

Savez-vous ce qui va arriver si vous appelez console.out.write (int) ?



9
votes

console.read () retour -1 sur EOF (coïncidemment, eof est défini comme -1 sur la plupart des plates-formes).

Vous pouvez faire: xxx

aussi, c # fonctionne de manière nativement avec unicode de la même manière que c fonctionne de manière nativement Avec ASCII , c'est-à-dire qu'il n'y a plus d'implications. System.Char représente un UCS-2 Unicode , qui correspond également à un int < / code>, donc tout ira bien.


0 commentaires