파일의 특정라인의 특정 부분만 읽는 함수좀 알려주세요.

kimyh의 이미지

예를들어 aaa.txt의 파일내용이

$memberid = "kkkkk";
$memberpassword = "hhhhh";
$membeip = "221.234.345.45"; 이라고 할때

파일을 fopen() 함수로 연뒤
두번째 라인의 따옴표안에 있는 hhhhh만 읽고자 할때 사용하는 함수좀 알려 주세요.

fread()나 fgets()는 처음부터 읽고자하는 부분까지만 읽을수 있고
라인설정이나 파일 중간의 특정위치 설정을 못하겠더군요.
fseek()로 설정을 하면 읽는 시작위치설정은 가능 한데 읽는 끝을 지정할수가 없더군요.
더구나 $memberpassword = "hhhhh"; 이라인은 memberpassword가 5캐렉터에서 10캐렉터까지 변동하여 정확한 읽기종료
포인터의 위치를 알수가 없다는겁니다.

검색을 해봐도 두무지 찾을수가 없군요.
파일 전체를 읽는 내용들로 제가 원하는답을 구하지 못하겠습니다.
도움 주시면 감사하겠습니다.

아래는 간단한 해당부분만의 소스입니다.
if((stream = fopen("aaa.txt", "r")) == NULL);
fseek(stream, 13, SEEK_CUR);
ret = fread(buf, 1, 80, stream);
printf("%s\n", buf);

kslee80의 이미지

라인 하나하나 읽어서 해당 부분을 찾아서 읽는 루틴을 작성해서 처리해야겠죠.

Fe.head의 이미지

fgets(.., buf, sizeof(buf)); 한번 호출하고
fscanf 로 '=' 다음 문자의 것을 얻으면 되겠네요.

 /* 파일을 연다 fopen */
 stream = fopen("aaa.txt", "r");
 
 /* 한 라인을 buf로 읽는다. fgets*/
 fgets(buf, sizeof(buf), stream);
 
 /* '=' 다음 문자내용을 찾아 낸다. */
 fscanf(stream, "%*[^=]=%s", stream);
 
 printf(buf);

fscanf 참고
http://kldp.org/node/72882

-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

kimyh의 이미지

/* 파일을 연다 fopen */
stream = fopen("aaa.txt", "r");

/* 한 라인을 buf로 읽는다. fgets*/
fgets(buf, sizeof(buf), stream);

/* '=' 다음 문자내용을 찾아 낸다. */
fscanf(stream, "%*[^=]=%s", stream);

printf(buf);

내용으로 처리하면 buf에 있는 값만 읽혀지는군요.
fscanf()처리후 내용확인을 어떻게 하는지요.
fscanf()함수는 지금 공부하고 있습니다.

살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.

살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.

Fe.head의 이미지

fscanf(stream, "%*[^=]=%s", stream); 에 약간의 오류가

fscanf(stream, "%*[^=]=%s", buf);

로 바꿔보고 해보세요.^^
-----------------------
과거를 알고 싶거든 오늘의 네 모습을 보아라. 그것이 과거의 너니라.
그리고 내일을 알고 싶으냐?
그러면 오늘의 너를 보아라. 그것이 바로 미래의 너니라.

고작 블로킹 하나, 고작 25점 중에 1점, 고작 부활동
"만약 그 순간이 온다면 그때가 네가 배구에 빠지는 순간이야"

kimyh의 이미지

알려주신대로 해서 성공했습니다.
바쁘신중에도 계속 좋은 답변 주신데 다시한번 감사드립니다.

살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.

살며 그리고 사랑하며...
정보는 공유할때 그 가치가 있는것.....
나의 조그만 지식공유는 남에게 엄청난 기쁨을 안겨 준다.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.