파일 입출력 관련 질문입니다........

익명 사용자의 이미지

명령어에서 실행된 옵션에 따라 사용자 이름을 입력받구요.....
예를 들어서... ./a -u aa bb cc 또는 ./a -u aa bb root cc dd
와 같은 식으로 -u 옵션 뒤에 분석할 사용자 이름을 받습니다....
그리고 임시로 통계파일을 만들어서.......
예를 들어서 두번째 경우와 같이 명령을 주었다면....
사용자 텔넷성공 텔넷 실패 로그인성공 로그인실패
root 0 0 0 0
aa 0 0 0 0
bb 0 0 0 0
.........와 같은 식으로 루트를 맨위에 올리고 나머지 애들은 정렬을
한 순서대로 다음과 같이 임시 파일을 만듭니다.......
그리고 주어진 파일의 결과를 분석(파싱)해서....카운트를 하나씩 올리는
건데요.....
스펙 그대로 적어보면......
로그 파일을 분석하면서 통계에 작성될 정보가 나올 때마다, 임시파일에
미리 작성된 통계정보중 해당되는 항목의 통계값을 읽은 후 , 이 통계값
에 1을 더해 다시 적절한 위치에 적는 식으로 통계를 작성하고, 분석이
종료됐을 경우............와 같습니다.....
각 값을 배열등으로 저장해서 마지막에만 파일로 작성하는 식으로 하지
말라고 하는데.....
저렇게 임시파일을 만들어놓고 그 값을 배열 이외에 다른 방법으로 읽어
서 카운트를 증가하고, 또 특정 위치에다가 카운트를 넣은 값을 집어넣
을 수 있는지......모르겠네요......배열 쓰면 간단한데......ㅡㅡ;;
도와주세요...

익명 사용자의 이미지

fseek()로 수정할 줄의 첫번째 파일포인터 얻어온다음에..
fprintf()로 그줄을 덮어씌어 버리세요. 이렇게 할 경우에는
각줄마다 들어갈수있는 문자의 갯수를 맞추는게 편하겠죠..

각 함수의 설명은 man 페이지를 참고.

익명 사용자의 이미지

#include

int main(){

char user[2][10]={"root","other"};
int a=1,i;
int suc=0, fail=0;
FILE *ofile;

ofile=fopen("temp.txt","w");
for(i=0 ; i<2 ; i++){
fprintf(ofile,"%s\t%d\t%d\n",user[i],suc,fail);
}
fclose(ofile);

return 0;

}
이런 식으로 코드를 수행하면
root 0 0
other 0 0
이 찍히자나요

그 다음에 fseek과 open을 이용해서 원하고자하는 곳에 어떻게

카운트된 정보를 업데이트 할 수 있나요?고수님들 제발 좀 알렺세요...흑

댓글 달기

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