Quel est l'équivalent C # du code C suivant:
while((c = getchar())!= EOF) putchar(c);
3 Réponses :
int c = -1;
while ( (c =Console.Read()) >=0)
{
Console.WriteLine(c);
}
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.
éteint le dessus de ma tête, 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 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. P> p> > = 0 code> au lieu de ! = -1 code> même. P>
Savez-vous ce qui va arriver si vous appelez console.out.write (int) code>?
console.read () retour -1 sur EOF (coïncidemment, eof est défini comme Vous pouvez faire: p> aussi, c # fonctionne de manière nativement avec -1 code > sur la plupart des plates-formes). unicode code> de la même manière que c fonctionne de manière nativement Avec ASCII code>, c'est-à-dire qu'il n'y a plus d'implications. System.Char représente un UCS-2 Unicode code>, qui correspond également à un int < / code>, donc tout ira bien. p> p>
Avez-vous vérifié la documentation de la console.Read? msdn.microsoft.com/en-us/library/system. console.read.aspx