구분자로 구성된 문장 구조체에 넣을 때 방안

서건우의 이미지


문자열 ,로 구분자로 구성된 문장을 읽어서 구조체에 저장하려고 합니다.
EX) 2,3,44,56,77,88,99,11,23 구조체에 int로 변환해서 넣을 예정입니다.

문제는 ,로 구분된 갯수가 1~5만까지 상황에 따라 다르게 들어옵니다.

1. 임의로 5만이라고 malloc으로 지정하는 방법
2~3개로만 구성된 문자열이 들어오면 효율적이 못 한 것 같고..

2. strtok를 한 번 수행하고 카운트를 가져와서 malloc을 하고 다시 strtok 해서 파싱해서 구조체에 넣는 방법
strtok로 파싱을 두번 수행해야 하고..ㅡㅡ

2가지 방법 밖에 떠오르지 않네요.

두가지 방법이 다 좋은 방법은 아닌 것 같은데 다른 방법이 있나요? 아님 두가지 방법 중에 어느 것이 좀 더 나은 방법인가요??

모지리의 이미지

5만이라는것인 50,000이라는 숫자를 말하는것인가요? 아니면 50,000 bytes를 말하는건가요?
만약 숫자라면

malloc은 구조체만 malloc해서 링크드 리스트에 넣으시면 될듯 보입니다.
그게 아니라 50,000 bytes를 말하는거면

구조체 malloc, 해당 맴버 malloc 이렇게 두번 하셔야 메모리를 절약 하실거 같습니다.

쫌더 자세히줌 올려주세욤~~~

서건우의 이미지

typedef struct {       
    int     *data;                                                                                                            
    int     count;                                                                                                       
} test

위에 내용에 data에 1,2,3,5가 들어오면 1 2 3 5 데이터를 입력할 예정이고
count 에는 4를 입력할 생각입니다.

해당멤버 data만 malloc하면 되는데 sizeof(int) * 50000 미리 선언해서 사용하는데 큰 무리가 없는지 궁금합니다.

appler의 이미지

구조체로 저장한다하심은 어떤 형식이 있을건데요..

그냥 구분자로 크기만 맞춰주시고 파일 포인터로 참조하게만 하면 안되나요?;';

그냥 보니 DB처리 부분 하시는거 같은데...저도 잘...몰라서 허접한 답변이군요;;

제 말은 구조체로 다 잡아준다는건 낭비 일거란 생각이 들어서염


laziness, impatience, hubris

不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.


laziness, impatience, hubris

不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.

댓글 달기

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