0
제 문제는 텍스트 파일의 문자를 배열로 읽으려고한다는 것입니다. 배열의 원래 크기는 텍스트 파일의 항목 수보다 길지만 사용 된 배열의 색인 만 인쇄하려고합니다. 그런 다음 배열은 printCharacterArray 함수로 인쇄됩니다.배열로 텍스트 파일 읽기, 함수를 통해 인쇄
프로그램이 제대로 컴파일되고 실행되며 배열의 문자가 있어야하는 빈 줄이 인쇄됩니다. 문제는 분명히 텍스트 파일 엔트리가 배열로 읽히지 않는다는 것입니다. 제안? 감사.
#include <stdio.h>
#include <stdlib.h>
#define FILENAME "hello.txt"
#define SIZE 200
//function prototype
int printCharacterArray(char encrypted[], int k);
int main()
{
//Declare variables
int key;
int k = 0;
int retValue;
FILE *message;
//Create array
char encrypted[SIZE]={'\0'};
//Open file
message = fopen(FILENAME,"r");
//check that file opened
if (message == NULL){
printf("File didn't open.");
fclose(message);
}else{
fscanf(message,"%d\n",&key);
//set loop to read rest of file
while (!feof(message)){
fscanf(message,"%c\n",&encrypted[k]);
k++;
}
fclose(message);
}
//Call and catch function
retValue = printCharacterArray(encrypted, k);
if (retValue==0){
printf("Exit failure, retValue = 0");
return EXIT_FAILURE;
}else{
printf("Exit success, retValue != 0");
return EXIT_SUCCESS;
}
}
//Function Definition
int printCharacterArray(char encrypted[ ], int k){
int g;
if (k==0){
printf("EXIT FAILURE, k = 0");
return EXIT_FAILURE;
}else{
for (g=0; g<=k; g++){
printf("%c\n",encrypted[k]);
}
return EXIT_SUCCESS;
}
}
1) '는 retValue == 0'-> 'retValue EXIT_FAILURE' == 2) g'g '<=k' -->
BLUEPIXY
하면'암호화되지 인쇄해야 [암호화 된 [k] 대신 [g]'. (루프 카운터로 'i', 'j', 'k'와 사물의 숫자로 'n'과 'm'을 사용하기 때문에 자리에 잠시 머물렀다.) –