file 다루기..

gayj의 이미지

다음과 같은 파일이 하나 있습니다..

    string 1............. string 2.............
    string 3.............
    string 4.............
    string 5.............
    string 6.............

이런 파일을 open해서 중간에 string 4를 삭제할려구 합니다.
그래서 다음처럼..

    string 1............. string 2.............
    string 3.............
    string 5.............
    string 6.............

이것처럼 만들려구 하는데요..
화일이 꽤 크고, 랜덤하게 접근해서 중간중간 한 라인씩 삭제를 해야 하기 때문에 간단하지가 않네요..
좋은 아이디어 부탁 드립니다.. :roll:

[/][/]
advanced의 이미지

저도 이 문제로 예전에 고민한적이 있었는데

제 경우는

1 2 3 4 5

의 내용을 가진 파일이 있을때 지울것이 4라면

1 2 3 5

를 임시 파일에 저장해서 원본을 지우고 임시파일을 원본으로 바꿔치기하는

방법을 썼었습니다.

하지만 파일이 작은 경우였고 또 별로 효율적이지도 않은것 같았습니다.

정말로 좋은 방법이 있다면 저도 꼭 알고 싶군요 :D

- Advanced -

seoleda의 이미지

스트링의 크기가 일정하다다면..

스트링 3을 지우고 싶으면..

특정 위치에다가 ..3이라고 적어 놓는겁니다..

아님.. 스트링의 크기가 일정하지 않아서.. \n으로 구분 됀다면..

\n 앞이나 뒤에.. 특정한 코드를 넣어서.. 하는 방법도 있겠고..

아님.. 스트링 3크기 만큼을 스페이스로 채우는 방법도 있을거 같습니다.

buildkdom의 이미지

strtok()..... good

unipro의 이미지

파일의 내용이 변경(삽입, 삭제, 수정 등등)되는 변경된 정보를 기록하는 것이 어떨런지요. 변경 이후에 파일에 대한 조작을 할 경우 변경된 정보를 참조하여 접근하면 될 것이고 거기에 또 변경이 있으면 그 정보를 계속 기록하는 것이지요.

나중에 변경된 내용을 한꺼번에 일괄 처리하면, 전체적인 부하는 상당히 감소할 수 있을 듯 싶습니다.

내 블로그: http://unipro.tistory.com

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.