• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

텍스트 파일 입출력 예제에서 텍스트 파일을 못찾는 것 같아요,,

22.04.10 18:44 작성 조회수 124

0

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>

#include <stdlib.h>

 

int main(int argc, char* argv[])

int ch;

FILE* fr;

 

unsigned long count = 0;

 

if (argc != 2)

{

printf("Usage : %s filename\n", argv[0]);

exit(EXIT_FAILURE);

}

 

if ((fr = fopen(argv[1], "r")) == NULL);

{

printf("Can't open %s\n", argv[1]);

exit(EXIT_FAILURE);

}

 

while ((ch = fgetc(fr)) != EOF)

{

fputc(ch, stdout);

 

count++;

}

 

fclose(fr);

 

printf("FILE %s has %lu characters\n", argv[1], count);

 

 

return 0;

}

 

 

 

코드도 맞게 작성했고 파일 이름이랑 다 맞게 했는데 

이렇게 나오네요. . . , , , , , , ,ㅠㅠ

 

문제가 뭘까요....?! 크아악 

답변 1

답변을 작성해보세요.

0

강민철님의 프로필

강민철

2022.04.11

음.. 저도 질문자님 코드로 계속해서 돌려보고 있는데요,

뭐가 문제인지 잘 모르겠네요....ㅠㅠ

 

우선 코드 상의 문제는 아닌 것으로 보입니다.

아래 코드를 돌려보세요.

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>	

int main()
{
	int c;
	FILE *file = NULL;
	char file_name[] = "my_input.txt";

	file = fopen(file_name, "r");	
	if (file == NULL)
	{
		printf("Failed to open file.\n");
		exit(1);
	}

	while ((c = getc(file)) != EOF)
		putchar(c);
	fclose(file);

	return 0;
}

 

만일 위 코드가 제대로 동작한다면,

문제의 원인은 코드가 아닌

컴파일러의 command arguments 기능이 아닐까 싶습니다...

 

저희와 비슷한 고민을 하는 질문이 있는데, 아래 링크를 참고 바랍니다.

(문제의 원인이 코드가 아닌 컴파일러의 기능일 경우, 

이는 질문자님의 잘못이 아니니 그냥 넘어가셔도 무방합니다.)

https://social.msdn.microsoft.com/Forums/vstudio/en-US/4097114c-8678-46bb-ba3b-7a2da8514efc/visual-studio-2017-not-passing-command-line-arguments-to-the-application?forum=vsdebug

 

https://stackoverflow.com/questions/54188730/debugging-with-command-arguments-in-visual-studio-not-working

 

우녱님의 프로필

우녱

질문자

2022.04.11

답변 감사합니다 !!!!!!