c언어 파일에서 읽어오는거에 대한 질문
조회수 570회
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
char home[100][100] = { 0, };
int main(void)
{
FILE* fp = NULL;
int n = 0; // number of test cases
int row = 0; // number of rows
int col = 0; // number of cols
int result = 0; // number of error
char i = 0;
char j = 0;
if ((fp = fopen("sample_input.txt", "r")) == NULL)
{
fprintf(stderr, "No file exist!\n");
return -1;
}
fscanf_s(fp, "%d", &n);
printf("문제수 : %d\n", n);
while (n-- > 0)
{
fscanf_s(fp, "%d", &row);
printf("row = %d\n", row); //행 출력
fscanf_s(fp, "%d", &col);
printf("col = %d\n", col); //열 출력
fgetc(fp);
for (i; i < row ; i++)
{
for (j; j < col ; j++)
{
fscanf_s(fp, "%c", &home[j][i]);
printf("%c", home[j][i]);
}
}
//printf("\n");
//printf("%d 번째 H의 갯수는 : %d\n",n, result);
}
fclose(fp);
return 0;
}
이 코드가 이 텍스트 파일에서 읽는 코드인데
2
3
2
XH
XA
HX
5
5
XXHXH
HHAHH
XHHHC
HBHHH
XHHXH
문제수 : 2
row : 3
col : 2
XHrow:3
col : 2
이렇게 출력이 됩니다. 저는
문제수 2
row : 3
col : 2
XH
XA
HX
까지 출력하고 H의 갯수를 센 다음 다음
row : 5
col : 5
HHAHH
XHHHC
HBHHH
XHHXH
를 출력하고 H의 갯수를 세고 싶습니다. 어떻게 해야될까요?
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
아래 코드 참고하세요.
- 코드
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { char home[100][100] = { 0, }; FILE* fp = NULL; int n = 0; // number of test cases int row = 0; // number of rows int col = 0; // number of cols int result = 0; // number of error if ((fp = fopen("sample_input.txt", "r")) == NULL) { fprintf(stderr, "No file exist!\n"); return -1; } fscanf(fp, "%d", &n); printf("문제수: %d\n\n", n); for (int num = 1; num <= n; ++num) { result = 0; fscanf(fp, "%d", &row); printf("row: %d\n", row); //행 출력 fscanf(fp, "%d", &col); printf("col: %d\n", col); //열 출력 for (int i = 0; i < row; ++i) { for (int j = 0; j < col; ++j) { fscanf(fp, " %c", &home[i][j]); printf("%c", home[i][j]); if (home[i][j] == 'H') ++result; } printf("\n"); } printf("%d번째 H의 갯수: %d\n\n", num, result); } fclose(fp); return 0; }
- 결과
- 텍스트 파일
-
(•́ ✖ •̀)
알 수 없는 사용자
댓글 입력