Làm th? nào ð? chuy?n hý?ng stdout ð?n m?t t?p tin t? m?t chýõng tr?nh C/c ++ Visual

ID c?a bài: 58667
Bung t?t c? | Thu g?n t?t c?

? Trang này

TÓM T?T

Bài vi?t này gi?i thích làm th? nào ð? chuy?n hý?ng stdout ð?n m?t t?p tin t? m?t chýõng tr?nh C, sau ðó khôi ph?c stdout g?c t?i m?t th?i ði?m sau này trong cùng m?t chýõng tr?nh. Ch?c nãng c thý?ng ðý?c s? d?ng ð? chuy?n hý?ng stdout ho?c stdin freopen(). Ð? chuy?n hý?ng stdout ð?n m?t t?p tin tên t?p tin.TXT, s? d?ng sau ðây cu?c g?i:
   freopen( "file.txt", "w", stdout );
Tuyên b? này gây ra t?t c? các s?n lý?ng ti?p theo, mà thý?ng là ð?o di?n hý?ng t?i stdout, ð? ði ð?n t?p tin FILE.TXT.

Ð? tr? v? stdout ð?n màn h?nh (m?c ð?nh stdout), s? d?ng các cu?c g?i sau ðây:
   freopen( "CON", "w", stdout );
Trong c? hai trong s? nh?ng trý?ng h?p này, h?y ki?m tra giá tr? tr? l?i c?a freopen() ð? ð?m b?o r?ng chuy?n hý?ng th?c s? di?n ra.

Dý?i ðây là m?t ðo?n ng?n chýõng tr?nh ð? ch?ng minh chuy?n hý?ng stdout:

M?u m?

// Compile options needed: none

#include <stdio.h>
#include <stdlib.h>

void main(void)
{
   FILE *stream ;
   if((stream = freopen("file.txt", "w", stdout)) == NULL)
      exit(-1);

   printf("this is stdout output\n");

   stream = freopen("CON", "w", stdout);

   printf("And now back to the console once again\n");
}
Chýõng tr?nh này gi? ð?nh r?ng stdout là chuy?n hý?ng t?i bàn ði?u khi?n ? ph?n cu?i c?a chýõng tr?nh.

Thu?c tính

ID c?a bài: 58667 - L?n xem xét sau cùng: 17 Thaìng Taìm 2011 - Xem xét l?i: 2.0
T? khóa: 
kbhowto kbmt KB58667 KbMtvi
Máy d?ch
QUAN TROòNG: Bài vi?t này ðý?c d?ch b?ng ph?n m?m d?ch máy c?a Microsoft ch? không ph?i do con ngý?i d?ch. Microsoft cung c?p các bài vi?t do con ngý?i d?ch và c? các bài vi?t do máy d?ch ð? b?n có th? truy c?p vào t?t c? các bài vi?t trong Cõ s? Ki?n th?c c?a chúng tôi b?ng ngôn ng? c?a b?n. Tuy nhiên, bài vi?t do máy d?ch không ph?i lúc nào c?ng hoàn h?o. Lo?i bài vi?t này có th? ch?a các sai sót v? t? v?ng, cú pháp ho?c ng? pháp, gi?ng nhý m?t ngý?i ný?c ngoài có th? m?c sai sót khi nói ngôn ng? c?a b?n. Microsoft không ch?u trách nhi?m v? b?t k? s? thi?u chính xác, sai sót ho?c thi?t h?i nào do vi?c d?ch sai n?i dung ho?c do ho?t ð?ng s? d?ng c?a khách hàng gây ra. Microsoft c?ng thý?ng xuyên c?p nh?t ph?n m?m d?ch máy này.
Nh?p chu?t vào ðây ð? xem b?n ti?ng Anh c?a bài vi?t này:58667
Khýõìc týÌ Nôòi dung trong Cõ sõÒ Kiêìn thýìc Không coÌn ðýõòc hôÞ trõò
Bài vi?t này nói v? các s?n ph?m mà Microsoft không c?n h? tr? n?a. Do ðó, bài vi?t này ðý?c cung c?p "nguyên b?n" và s? không ðý?c c?p nh?t.

Cung câìp PhaÒn hôÌi