로 구분 한 후의 내가 TXT 파일이 있다고 가정하자 정보를 표시 :C에서 여러 단어 검색, 그들을 쉼표
날짜 : 11/11/11
장치 : 박스터
상태 : 좋은
단어 (내게 말하기 :)에 대한 내 코드 검색을 만들고 그 단어 (Boxster) 뒤에 정보를 표시하려고합니다. 지금까지 나는 단지 한 단어를 검색하는 코드를 가지고있다. 2 ~ 3 단어를 검색하고 그 뒤에 정보를 표시 할 수 있도록 코드를 수정하려면 어떻게해야합니까?
그것은 것 일에도 더 도움이 i는 다음과 같은 형식의 정보를 표시 할 수있는 경우 : 좋은
박스터, 11/11/11를.
여기 내 코드입니다, 미리 감사드립니다! 일부 변경이는 printf와 당신은 문자열에 대해 여러 검사를하거나 ||
논리를 사용할 수는 fgets
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main() {
char file[100];
char c[100];
printf ("Enter file name and directory:");
scanf ("%s",file);
FILE * fs = fopen (file, "r") ;
if (fs == NULL)
{
puts ("Cannot open source file") ;
exit(1) ;
}
FILE * ft = fopen ("book5.txt", "w") ;
if (ft == NULL)
{
puts ("Cannot open target file") ;
exit(1) ;
}
while(!feof(fs)) {
char *Data;
char *Device;
char const * rc = fgets(c, 99, fs);
if(rc==NULL) { break; }
if((Data = strstr(rc, "Date:"))!= NULL)
printf(Data+7);
if((Data = strstr(rc, "Device:"))!=NULL)
printf(Device+6);
}
fclose (fs) ;
fclose (ft) ;
return 0;
}
이것은 C++가 아닙니다. – 0x499602D2
1) feof()가 잘못되었습니다 2)'printf (Data + 5);는'printf (Data + 7);이어야합니다 3) "dateL :"은 무엇입니까? 4) strtok 또는 strspn + strcspn이 트릭을 수행 할 수 있습니다. – wildplasser