1
當我嘗試打印expectedRuntime變量時,它將輸出expectedRuntime的地址。 但我可以正確打印timeOfSubmission變量。任何人都可以幫助我嗎?從文件中獲取結構的輸入並將其打印出來C
fscanf(myInput, "%d", & (newProcess->expectedRunTime));
(newProcess->expectedRunTime)=(newProcess->remainingRunTime);
其中有垃圾如無物已被寫入newProcess->remainingRunTime
:
struct process
{
int timeOfSubmission;
int remainingRunTime;
int expectedRunTime;
char processName[20];
};
int main()
{
FILE *myInput;
myInput = fopen("input.txt", "r+");
while (!feof(myInput))
{
struct process * newProcess=(struct process *)malloc(sizeof(struct process));
fscanf(myInput, "%s", newProcess->processName);
fscanf(myInput, "%d", & (newProcess->expectedRunTime));
(newProcess->expectedRunTime)=(newProcess->remainingRunTime);
fscanf(myInput, "%d", & (newProcess->timeOfSubmission));
printf("%s ",newProcess->processName);
fflush(stdout);
printf("%d ",newProcess->expectedRunTime);
fflush(stdout);
printf("%d \n",newProcess->timeOfSubmission);
fflush(stdout);
}
return 0;
}
我切換方:(newProcess-> remainingRunTime)=(newProcess-> expectedRunTime);它真的有效。這個小東西已經毀了我的整個項目到目前爲止:)非常感謝! –