2014-01-07 44 views
1

我被要求將Python程序轉換爲C程序。Python程序包括我無法轉換的循環語句。什麼是替換「for sys.stdin中的行:」在C?

for line in sys.stdin: 
    <Some Code> 

我在找C.I的替代品,我覺得下面的代碼可能會工作,但我懷疑它。

char A[100] 
while(1) 
A=gets(); 

試着精心製作。

+0

你讀文件,或流? – Fallenreaper

+2

我想你想'while(fgets(A,sizeof(A),stdin)!= NULL){} –

回答

1

我第二勒夫的響應:

char A[100]; /* Your code misses the semicolon here. */ 

while(fgets(A, sizeof A, stdin) != NULL) 
{ 
    /* process A here */ 
} 

別注意,這是限制爲100個字符的行的長度,Python代碼不以這種方式限定。

如果您有,請使用getline()代替,它沒有長度限制。

0

存在有很大的選擇,爲您選擇:

int fgetc(FILE *stream) 
char *fgets(char *s,int n,FILE *stream) 
int getc(FILE *stream) 
size_t fread(void *ptr,size_t size,size_t nobj,FILE *stream) 

你不能使用你只需要給代碼:

1.code from python means get from stdin 
2.with no limits of 100 characters. 
相關問題