2013-04-07 2 views
-1

질문을 시작하기 전에 몇 가지 사항을 선언하고 싶습니다. - 이것은이 사이트에 이미있는 질문의 복사본이 아닙니다. 비슷한 줄에 질문이 생기는 경우도 있지만 입력 결과를 정확히 '정확하게'이해하지 못합니다. 에서와 마찬가지로 응답자는 코드에코드 잼 질문이있는 터미널을 통한 입력/출력

int main(int argc, int argv**) 
{ 
} 

이 있다고 말합니다. 그러나 사이트에 게시 된 솔루션에는 사용되지도 않습니다. 문제는 https://code.google.com/codejam/contest/1460488/dashboard#s=p0&a=0에 대한 예입니다. (방언으로 말하면 우분투 터미널을 사용하고 How can I do file i/o without fstream for competitions like google code jam?의 지시에 따라 노력했습니다. 출력 파일에 아무 것도 쓰여 있지 않습니다. 어떻게하면 더 잘 이끌어 낼 수 있을까요, 그렇게 할 수 있을까요?이 작업은 이미 숙제가 아닙니다. . 난 단지 리눅스 터미널에서 입출력을 수행하는 방법을 알 필요가

임 또한 내 코드를 제공

가 : -..

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

#define DEBUG 1 
#define printd if (DEBUG) printf 

char cipher[26] =  {'y', 'h', 'e', 's', 'o', 'c', 'v', 'x', 'd', 'u', 'i', 'g', 'l', 'b', 'k', 'r', 'z', 't', 'n', 'w', 'j', 'p', 'f', 'm', 'a', 'q'}; 

int main() 
{ 
    int count, j; 
    scanf("%d\n", &count); 
    for (j=0;j<count;j++) 
    { 
    printf("Case #%d: ",j+1); 
    translate(); 
    printf("\n"); 
    } 
} 
void translate() 
{ 
    char c; 
    scanf("%c", &c); 
    while (c != '\n') 
    { 
    if (c == ' ') 
     printf(" "); 
    else 
    { 
     int index = c - 'a'; 
     if (index >=0 && index <= 26) 
     { 
     printf("%c", cipher[index]); 
     } 
    } 
    scanf("%c", &c); 
    } 
} 

가 감사합니다

+0

퍼포먼스를 목표로한다면'fgetc()'를'scanf()'이상 권장합니다. – WhozCraig

+0

그럼 정확하게 작동하지 않는 것은 무엇입니까? 귀하의 코드는 무엇을하고 무엇을 기대합니까? – svick

+0

본질적으로 번역자입니다. 특정 맵핑이 있으며, 파일에서 입력을 취하고 맵핑에 따라 출력을 파일에 기록합니다. 그것이 리눅스 터미널을 통해서만 가능하고 기대하는 바입니다. – pranavsharma

답변

0

파일이 foo는 컴파일 데 당신이 할 수있는 다음 :

./foo <input> output 

이렇게하면 입력을 읽고 printf로 작성한 모든 것을 출력합니다.

+0

안녕하세요, 정말 고마워요! 그것은 매력처럼 작용했습니다. 나는 이제 구호를 호흡 할 수있다. 나는 사건이 다가오고 있기 때문에 입출력 문제에 대해 너무 긴장되었다. 엄청 고마워. – pranavsharma