ファイルから数値を読み込み、配列に入れたいと思います。 問題は、数字が正しく抽出されましたが、は配列に保存できませんでした。これは、プログラムの実行後に配列が空であることを意味します。私はこのコードはスレッドによって使用されることを言及する必要があります。ここ はコードです:あなたのループ内Cのファイルから抽出番号で配列を塗ります
int ordercount=0;
//initialize
int Order[10]={0};
int Credit[10]={50,50,50,50,50,50,50,50,50,50};
//For reading a file
FILE *myfile;
//Semaphore
pthread_mutex_t mtx;
char char_get;
void *orders(void *arg)
{
///////////////////////////////////////////read from a file
myfile=fopen("List.txt","r+");
int k=0;
//pthread_mutex_lock(&mtx);
fscanf (myfile, "%d", &k);
while (!feof (myfile))
{
ordercount++;
Order[k]=k;
printf("The initial Order is: %d \n",Order[k]);
fscanf (myfile, "%d", &k);
}
fclose (myfile);
//pthread_mutex_unlock(&mtx);
}
'受注[K] = K(
do/while
、ファイル内の値が多すぎに対する保護を使用して);'これは何をするになっていますか? – starkあなたは 'ordercount'を使用せず、あなたの配列内のランダムな場所にアイテムを格納するだけです。 –
@stark:応答してくれてありがとう、私は何かを計算するために別のスレッドで使っています。 – Reza