我有一個Instance File從中我需要存儲NUM_PT並在2D陣列系統的形式所有相應座標(個人選擇,所以我可以輕鬆訪問它們)。我能夠檢索到NUM_PT,但我堅持將連續的座標讀入我的數組中。在特定點從文件存儲號碼爲(x,y)的cordinates
這裏是我做了什麼
/* Assignment 2 */
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <ctype.h>
#define MAXS 256
int main(int argc, char *argv[])
{
int num_pt;
int inputfile = 0, outputfile = 0, i;
for (i = 1; i < argc; i++)
{
if (strcmp (argv[i], "-i") == 0)
inputfile = i+1;
if (strcmp (argv[i], "-o") == 0)
outputfile = i+1;
}
if (inputfile == 0)
{
/* invalid command line options */
printf("\nIncorrect command-line...\n");
printf("> %s [-i inputfile [-o outputfile]]\n\n", argv[0]);
exit(0);
}
FILE *fp;
fp = fopen(argv[inputfile], "r");
int count = 0;
if (fp == 0)
{
printf("\nCould not find %s\n", argv[inputfile]);
exit(0);
}
char line[MAXS];
while (fgets(line, sizeof line, fp) != NULL)
{
if (count == 4)
{
fscanf(fp, "%d", &num_pt);
break;
}
else
count++;
}
int arr[num_pt][1];
while (fgets(line, sizeof line, fp) != NULL)
{
if (count == 5)
{
int k, j, cord;
for (k = 0; k < num_pt; k++)
{
for (j = 0; j < num_pt; j++)
{
while (fscanf(fp, "%d%d", &cord) > 0)
{
arr[k][j] = cord;
j++;
}
}
}
}
}
fclose(fp)
return 0;
}
檢索NUM_PT我試圖重新初始化count
到5後,因爲cordinates從** LINE 6 *文件中啓動。
語言:C99;編譯器:GCC
所以你有一堆警告和錯誤。你已經做了什麼來解決它們? –
我遇到的警告是第一個和第二個。第三個警告我還沒有開始執行輸出文件的部分。我初始化了'arr [num_pt] []',並在掃描座標時在我的第二個for循環中使用它,但它告訴我它沒有被使用。 –
那麼麻煩是什麼?你能找到它抱怨的路線嗎?你能看到有什麼不對嗎?你期望有多少號碼到達那裏?你傳遞給它多少個變量? –