2016-11-24 62 views
-7

我有一個練習c,它要求得到拖曳參數(文件名,數字,例如k> 0)。 之後,它將創建一個新文件,它將獲得位置k,2 * k,3 * k等的字母,並將其寫入新文件中。 它也將創建另一個文件,將寫入如上所述的行。例如K線,2號線* K等打開並寫入文本c

我第一次觸摸了這一點,但我不知道做出指針*數量(K):

#include <stdio.h> 

int main() 
{ 
    FILE * file; 
    char c; 
    int k; 

    printf("Give a number :\n"); 
    scanf("%d" , k); 

    file = fopen("file.txt","r"); 
    if (file == NULL) 
     printf("File doesn't exist\n"); 
    else 
    { 
     do 
     { 
     c = getc(file); 
     putchar(c); 
     } 
     while (c != EOF); 
    } 


    fclose(file); 
return 0; 
} 

在此先感謝。

+2

您有沒有問題超出「請爲我完成作業嗎?」 –

+1

歡迎來到Stack Overflow!請[編輯]你的問題,以顯示[你迄今爲止所嘗試的](http://whathaveyoutried.com)。您應該包含您遇到問題的代碼[mcve],然後我們可以嘗試幫助解決特定問題。你還應該閱讀[問]。 –

+0

那麼是什麼阻止你開始編碼? –

回答

0

有許多問題:


變化scanf("%d" , k);scanf("%d" , &k);


變化char c;int c;因爲getcputchar使用int


這是錯誤的:

do 
{ 
    c = getc(file); 
    putchar(c); 
} 
while (c != EOF); 

如果cEOF,那麼你shouln't調用putcar


你檢查(file == NULL),但你shouln't調用fclose。只有當fopen成功時,才致電fclose

+0

感謝您的回覆。 – user7206161