<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: C++ file operations. in Operating System - Linux</title>
    <link>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874317#M98819</link>
    <description>Hi,&lt;BR /&gt;could you please provide an example input and output file. It may be a lot faster to use UNIX commands to perform updates to selected lines.</description>
    <pubDate>Wed, 04 Oct 2006 10:42:12 GMT</pubDate>
    <dc:creator>Peter Godron</dc:creator>
    <dc:date>2006-10-04T10:42:12Z</dc:date>
    <item>
      <title>C++ file operations.</title>
      <link>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874316#M98818</link>
      <description>Hello All&lt;BR /&gt;   I need lib routine in C++, which update particular value in file.&lt;BR /&gt;&lt;BR /&gt;I wll have, a huge file and function wuld  search for Key update value of KEY to YES/NO &lt;BR /&gt;&lt;BR /&gt;Can anybody help me in getting libaray which does this operation i.e open source or any good code that does so. &lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;ABC:YES&lt;BR /&gt;DEF:NO&lt;BR /&gt;CEF:YES&lt;BR /&gt;GEF:KEY&lt;BR /&gt;&lt;BR /&gt;It should be in c++ and efficent way of doing it.&lt;BR /&gt;&lt;BR /&gt;</description>
      <pubDate>Wed, 04 Oct 2006 10:34:20 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874316#M98818</guid>
      <dc:creator>Tnameh</dc:creator>
      <dc:date>2006-10-04T10:34:20Z</dc:date>
    </item>
    <item>
      <title>Re: C++ file operations.</title>
      <link>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874317#M98819</link>
      <description>Hi,&lt;BR /&gt;could you please provide an example input and output file. It may be a lot faster to use UNIX commands to perform updates to selected lines.</description>
      <pubDate>Wed, 04 Oct 2006 10:42:12 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874317#M98819</guid>
      <dc:creator>Peter Godron</dc:creator>
      <dc:date>2006-10-04T10:42:12Z</dc:date>
    </item>
    <item>
      <title>Re: C++ file operations.</title>
      <link>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874318#M98820</link>
      <description>Thanks but i dont need any unix command or script. It should be pure C++ functions&lt;BR /&gt;&lt;BR /&gt;Example. I have file.cfg.&lt;BR /&gt;Where ABC, DEF,CEF etc are configuration, and have to set corresponding value for it.&lt;BR /&gt;&lt;BR /&gt;ABC:YES&lt;BR /&gt;DEF:NO&lt;BR /&gt;CEF:YES&lt;BR /&gt;GEF:NO&lt;BR /&gt;&lt;BR /&gt;But its just a snapshort. but file can be bit larger.</description>
      <pubDate>Wed, 04 Oct 2006 14:22:11 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874318#M98820</guid>
      <dc:creator>Tnameh</dc:creator>
      <dc:date>2006-10-04T14:22:11Z</dc:date>
    </item>
    <item>
      <title>Re: C++ file operations.</title>
      <link>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874319#M98821</link>
      <description>&lt;!-- !*# --&gt;&lt;P&gt;Here is a C++ program (:-) that uses stdio to read a file and output the changes to stdout:&lt;BR /&gt;$ aCC -AA itrc_update.C&lt;BR /&gt;$ a.out itrc_update.in GEF maybe&lt;BR /&gt;ABC:YES&lt;BR /&gt;DEF:NO&lt;BR /&gt;CEF:YES&lt;BR /&gt;GEF:maybe&lt;BR /&gt;&lt;BR /&gt;itrc_update.C:&lt;BR /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;BR /&gt;#include &amp;lt;string.h&amp;gt;&lt;BR /&gt;#include &amp;lt;errno.h&amp;gt;&lt;BR /&gt;int main(int argc, char **argv) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int len;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; char line[4096];&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (argc &amp;lt; 4) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stderr, "Usage: %s input key value\n", argv[0]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 1;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; FILE *f = fopen(argv[1], "r");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (!f) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fprintf(stderr, "Can't open %s\n", argv[1]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; perror("Open failed");&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 2;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int len_key = strlen(argv[2]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; int len_val = strlen(argv[3]);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; while (fgets(line, sizeof(line), f)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (memcmp(line, argv[2], len_key) == 0 &amp;amp;&amp;amp; line[len_key] == ':') {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* overwrite value part */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; memcpy(&amp;amp;line[len_key+1], argv[3], len_val);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; len = len_key+1+len_val;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; line[len++] = '\n';&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } else {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; len = strlen(line);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fwrite(line, 1, len, stdout);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; fclose(f);&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; return 0;&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;As mentioned by Peter, it would probably better to use a script.&lt;/P&gt;</description>
      <pubDate>Sat, 29 Oct 2011 08:43:34 GMT</pubDate>
      <guid>https://community.hpe.com/t5/operating-system-linux/c-file-operations/m-p/3874319#M98821</guid>
      <dc:creator>Dennis Handly</dc:creator>
      <dc:date>2011-10-29T08:43:34Z</dc:date>
    </item>
  </channel>
</rss>

