1

以下のコードと出力を見つけてください。

私のCコードはc:/turboc3/binディレクトリにあり、私の出力macid.txtc:/turboc3/disk.

これが私がコンパイルしているコードです

#include <stdio.h>
#include <conio.h>
#include <string.h>

int main ()
{
    //char mac[200];
    FILE *fp;
    clrscr();
    // fp=fopen("c:\macid.txt","w");
    system("GETMAC>c:/macid.txt");
    fp=fopen("c:/macid.txt","r");
    if(fp!=NULL)
    {
        char line[128];
        while(fgets(line,sizeof line,fp)!=NULL)
        {
            char *nwln=strchr(line,'\n');
            char *ptr;
            if(nwln!=NULL)
                *nwln='\0';
            ptr=strstr(line,"Physical Address");
            if(ptr!=NULL)
            {
                printf("%s\n",ptr);
                break;
            }
        }
    }
    getch();
    return 0;
}

出力は次のとおりです。

Illegal command: GETMAC.

誰でもこれを案内できますか?

4

2 に答える 2

0

不正なコマンド: GETMAC は、実行しようとしても実行できないことを意味します。

まず、修正すべき点: 文字列内で \ をエスケープすることを忘れないでください。/ をパス区切りとして使用しないでください。

次に、おおよその順序で試すこと: GETMAC へのフル パスで試します。リダイレクトなしで試してください。別のプログラムで試してください。リダイレクトを行うバッチファイルに GETMAC をラップします。

于 2012-11-03T06:55:18.553 に答える