나는 터보 C와 메모장을 사용하여 일본어를 영어로 번역 한 사례 연구를하고 있습니다. 내 코드의Turbo C 데이터베이스 (메모장)
관련 부분 :
#include <stdio.h>
main()
{
FILE *a;
char word[20], ans[1];
clrscr();
a=fopen("dictionary.dbf","a");
do
{
printf("Add a word: ");
scanf("%s",&word);
fprintf(a,"%s \n",word);
printf("Add another one? (Y/N)");
scanf("%s",ans);
}while(strcmp(ans,"y")==0);
fclose(a);
}
이 코드에 TC에서 단어를 삽입하는 저를 가능하게하고 그것을 메모장을 저장합니다. 불행히도 메모장에서 특정 단어를 인쇄 한 다음 TC로 표시하는 방법을 모르겠습니다.
나는 너희들에게 약간의 도움이 필요하다. 이 사례는 필자의 사례 연구이며 그룹을 가지지 않고 사례 연구를 수행합니다.
왜? 왜 터보 C++인가? – triclosan
ans의 크기는 1입니다. 어떻게 C 타입 문자열을 빈 문자열에 저장하겠습니까? 거기에 Y 또는 N을 저장할 수있는 저장 공간이 필요합니까? 이 방법은 좋은 버퍼 오버 플로우 보안 문제의 좋은 예입니다. 'Y '는 2 바이트 ({'Y ','\ 0 '})를 필요로하고'% s'이 원하는만큼 많은 문자를 읽을 수 없도록해야합니다. – hetepeperfan
'% s'을 (를) 사용하여 문자열을 검색하는 것이 scanf 문에'&'를 요구하지 않는다는 것을 알고 있습니다. – Konsole