Results 1 to 12 of 12

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Get a Mac moridinbg's Avatar
    Join Date: Dec:2004
    Location: 0x00000000
    Posts: 4,211

    C/C++ ïðîìÿíà íà file?

    Êàê òî÷íî òðÿáâà äà ñòàíå ïðîìÿíàòà íà file?  ìîìåíòà, â êàêúâòî è ðåæèì äà ãî îòâîðÿ /rw, r+, etc./ àêî äîáàâÿì string òîé çàìåñòâà, òîâà êîåòî ãî èìà ñ äúëæèíàòà íà ñòðèíãà. Òîåñò àêî èìàì ïðèìåðíî "The brown fox" âúâ ôàéëà è ñå îïèòàì äà äîáàâÿ "quick ", êàòî ïîçèöèîíèðàì ïîéíòåðà ñëåä "The " ñå ïîëó÷àâà "The quick fox". Âñå åäíî Insert äîêàòî ñå ïèøå â Word/Excel... À àç èñêàì äà ãî íàïðàâÿ "The quick brown fox"...
    Êàê ñòàâà òîâà? Åâåíòóàëåí âàðèàíò å îò brown íà òàòúê äà ñå êîïèðà íÿêúäå âðåìåííî, äà ñå ñëîæè quick è ïîñëå äà ñå âúðíå brown è ïðîäúëæåíèåòî. Àìà ìíîãî ãðîçíî òàêà. Ïî-åëåãàíòåí íà÷èí èìà ëè?
    È íà Ñ è íà Ñ++ áè ìè ñâúðøèëî ðàáîòà.

  2. #2
    Ïðèìèòèâ Pesho®'s Avatar
    Join Date: Nov:2001
    Location: Sofia
    Posts: 5,169
    Íå ñè ñå èçðàçèë ïðàâèëíî. Ñèòóàöèÿòà å, ÷å â ìîìåíòà èìàø "replace", à èñêàø äà èìàø "insert". Îòãîâîðúò å - íå ñòàâà. Ôàéëîâåòå íå ðàáîòÿò ïî òîçè íà÷èí. Àêî èñêàø äà "âìúêíåø" íåùî ïî ñðåäàòà íà ôàéë, òðÿáâà ðú÷íî äà shift-íåø îñòàíàëàòà ÷àñò îò íåãî íàòàòúê.

  3. #3
    Get a Mac moridinbg's Avatar
    Join Date: Dec:2004
    Location: 0x00000000
    Posts: 4,211
    Áëàõ. Ùå âèäÿ íåùî çà ãîòîâè áèáëèîòåêè. Àêî íå ùå ìú÷à ñàì äà ïèøà òàêàâà

  4. #4
    Âåãàí íà ìåñíà äèåòà XaMaB's Avatar
    Join Date: Nov:2001
    Location: Ñîôèÿ
    Posts: 20,387
    E ÷åòåø öåëèÿ è ïðåçàïèñâàø. Çà ìíîãî ãîëåìè çàïèñâàø òåìï ôàéë è ïîñëå ðåïëàöå íà ñòàðèÿ. Íèùî òîëêîâà ñëîæíî íÿìà.
    Ïîñëåäíà ðåäàêöèÿ: èçâúðøåíà îò XaMaB; íà äíåøíà äàòà. 0.42 ñåêóíäè ñëåä ïóñêàíå íà ïîñòà

    In God we Trust (all others must submit a X.509 certificate). Àêî ñïîðèø ñ èäèîò, âåðîÿòíî è òîé ïðàâè ñúùîòî èëè ñè ïîïàäíàë íà ïàðòèåí (íåïúëåí) ÷ëåí

  5. #5
    Registered User vegasis's Avatar
    Join Date: Jun:2005
    Location: ÁÃ
    Posts: 1,156
    SetField å ôóíêöèÿòà , íî ìàé ùå ñå íàëîæè äà ñè ÿ íàïèøåø, ïîíåæå íå ïîìíÿ â êàêâà ñðåäà ñúì ÿ ïîëçâàë. Ïîòúðñè îò google - ìèñëÿ ùå ÿ íàìåðèø ãîòîâà.

  6. #6
    Get a Mac moridinbg's Avatar
    Join Date: Dec:2004
    Location: 0x00000000
    Posts: 4,211
    Õì ðåøèõ ñàì äà ñè ÿ íàïèøà, íî âúïðîñ.

    Êàê äà ÷åòà òåêñòîâ string îò file, êàòî ñòîéíîñòòà ñå çàïàçâà â ïðîìåíëèâà ñ äèíàìè÷åí îáåì? Äîñåãà ñó÷à âñÿêàêâè âàðèàíòè ñ malloc-è, íî íåùî íå ñòàâà. Íàé-ëåñíî å äà ñëîæà åäèí char sRead[5000] ñ èäåÿòà, ÷å íàäàëè ùå èìà èäèîò, êîéòî äà íàïèøå åäíà äóìà îò 5000 çíàêà, íî ïàê íå ìè õàðåñâà. Ïàê âàðâàðñêî ìè ñå âèæäà
    Âàðèàíò å äà áðîÿ áóêâèòå íà âñÿêà äóìà ïðåäè äà ÿ ÷åòà êàòî öÿë string è ïîñëå malloc(sizeof((char)*LettersNumber)), íî ïàê èäèîòñêî ìè ñå ñòðóâà. Èìà ëè íà÷èí äà íàïðaâÿ ïðèìåðíî fscanf_s êàòî òðåòèÿò àðãóìåíò ñå èíèöèàëèçèðà íà ìÿñòî ñ íóæíèÿ ðàçìåð? fscanf_s(File,"%s",char sTemp[]); îïðåäåëåíî íå ðàáîòè
    Last edited by moridinbg; 5th January 2007 at 18:02.

  7. #7
    ɐ-əpoɔᴉu⋂ ɐí íəÔ anrieff's Avatar
    Join Date: Apr:2004
    Location: Sofia
    Posts: 8,448
    Quote Originally Posted by moridinbg View Post
    Õì ðåøèõ ñàì äà ñè ÿ íàïèøà, íî âúïðîñ.

    Êàê äà ÷åòà òåêñòîâ string îò file, êàòî ñòîéíîñòòà ñå çàïàçâà â ïðîìåíëèâà ñ äèíàìè÷åí îáåì? Äîñåãà ñó÷à âñÿêàêâè âàðèàíòè ñ malloc-è, íî íåùî íå ñòàâà. Íàé-ëåñíî å äà ñëîæà åäèí char sRead[5000] ñ èäåÿòà, ÷å íàäàëè ùå èìà èäèîò, êîéòî äà íàïèøå åäíà äóìà îò 5000 çíàêà, íî ïàê íå ìè õàðåñâà. Ïàê âàðâàðñêî ìè ñå âèæäà
    Âàðèàíò å äà áðîÿ áóêâèòå íà âñÿêà äóìà ïðåäè äà ÿ ÷åòà êàòî öÿë string è ïîñëå malloc(sizeof((char)*LettersNumber)), íî ïàê èäèîòñêî ìè ñå ñòðóâà. Èìà ëè íà÷èí äà íàïðaâÿ ïðèìåðíî fscanf_s êàòî òðåòèÿò àðãóìåíò ñå èíèöèàëèçèðà íà ìÿñòî ñ íóæíèÿ ðàçìåð? fscanf_s(File,"%s",char sTemp[]); îïðåäåëåíî íå ðàáîòè
    Àêî íå òå ïëàøè äà ðàáîòèø ñúñ C++ è ïîòîöè, åäíî äîáðî ðåøåíèå ìè ñå âèæäà...

    Code:
    #include <iostream>
    #include <fstream>
    #include <string>
    using namespace std;
    
    ...
    
    ifstream fi("TheFileIWantToRead.txt");
    string temp;
    while (fi >> temp) { /* Do stuff */ }
    ...
    C++-ñêèÿ string ñå ñàìîðàçïúâà è ñàìîñâèâà êàêòî ñè òðåáå.
    Last edited by anrieff; 5th January 2007 at 18:20. Reason: çàáðàâåí çàòâàðÿù òàã
    Åòî òàêà ñå ïëîäÿò òå, êàçâàì ñè àç. Ïîä íîñà òè.
    "640K îught to be enough for anybody" - Bill Gates, 1981
    Òåñòîâå íà áàòåðèè::Machine specs::Fract::AGG::ÍåÑåÑúðäè×îâå÷å::Baileys::blog::YouTube channel

  8. #8
    Get a Mac moridinbg's Avatar
    Join Date: Dec:2004
    Location: 0x00000000
    Posts: 4,211
    Õì. íå ñðàáîòè êîìáèíàöèÿòà Ñ/Ñ++. Èíà÷å íà Ñ++ å íàèñòèíà òðèâèàëíî. Ñëåäâàùèÿ ïúò
    Òîâà, êîåòî íàïðàâèõ å

    1. Ïðàùàì ïîéíòåð êúì ôàéëà êúì ôóíêöèÿ.
    2. Ïî÷âàì äà ÷åòà áóêâà ïî áóêâà äîêàòî ñòèãíà êðàÿ íà äóìàòà. Îòáðîÿâàì âñÿêà áóêâà.
    3. Âðúùàì áðîÿ áóêâè.
    4. Çàäåëÿì ìÿñòî sizeof(char)*(áðîÿ áóêâè+1) â áóôåð //+1 çà /0
    5. Âðúùàì ïîéíòåðà òîëêîâà íàçàä, çà äà å â íà÷àëîòî íà äóìàòà.
    6. ×åòà ÿ â áóôåðà, êîéòî âå÷å å òîëêîâà ãîëÿì, êîëêîòî òðÿáâà

  9. #9
    ɐ-əpoɔᴉu⋂ ɐí íəÔ anrieff's Avatar
    Join Date: Apr:2004
    Location: Sofia
    Posts: 8,448
    moridinbg, ðåøåíèåòî òè å äîáðî, íî ìè ñå ñòðóâà, ÷å ùå ñå áàâè ïðè ïî-ãîëåìè ôàéëîâå. Àç ëè÷íî áèõ ïðàâèë òàêà...

    1. Îòâàðÿì ôàéëà, fseek()-âàì äî êðàÿ ìó è ñ ftell() âèæäàì êîëêî å ãîëÿì;
    2. Çàäåëÿì ïàìåò çà öåëèÿ ôàéë;
    3. rewind()-âàì ôàéëà äî íà÷àëîòî ìó;
    4. ×åòà ãî öåëèÿ ñ fread();
    5. Ïîñëå ñè ãî parse-âàì ðú÷íî (êîåòî íå å íèêàê ñëîæíî)

    Íåäîñòàòúêà å, ÷å àêî ôàéëà ñòàíå ÍÀÈÑÒÈÍÀ ãîëÿì, íÿìà äà òè ñòèãíå ïàìåòòà
    Åòî òàêà ñå ïëîäÿò òå, êàçâàì ñè àç. Ïîä íîñà òè.
    "640K îught to be enough for anybody" - Bill Gates, 1981
    Òåñòîâå íà áàòåðèè::Machine specs::Fract::AGG::ÍåÑåÑúðäè×îâå÷å::Baileys::blog::YouTube channel

  10. #10
    Get a Mac moridinbg's Avatar
    Join Date: Dec:2004
    Location: 0x00000000
    Posts: 4,211
    Õì, ùå ïðîáâàì, íî êàêâî ùå ñå ïîëó÷è ñ file 1-2MB? Òîâà ñè å äîñòà ãîëÿì ìàñèâ...

  11. #11
    Áåëûé è ïóøèñòûé Bombera's Avatar
    Join Date: Jul:2001
    Location: Êàçàíëúê 4EVA
    Posts: 13,833
    Íàé-óäîáíî â ñëó÷àÿ å ñ File mapping,ñïåñòÿâàø ñè çàäåëÿíåòî íà ìíîãî ãîëåìè ìàñèâè ïàìåò, îñâåí çà ðàáîòíèòå òè áóôåðè, êàêòî è ñè ñúçäâàø óäîáñòâîòî ä ðàáîòèø ñ ôàéëîâèòå äàííè áåç ôàéëîâèòå ôóíêöèè, à ñ ôóíêöèè çà ðàáîòà ñ ïàìåòòà, êîèòî ìàíèïóëèðàò äèðåêòíî ôàéëà, íî êîäà íÿìà äà å ïîðòàáúë. Çàùî íå ëîóäâàø íà ÷àñòè ôàéëà è íå îïåðèðàø ïîñëåäîâàòåëíî âúðõó ìàëêè ÷àñòè îò íåãî?

    http://msdn2.microsoft.com/en-us/library/aa366556.aspx
    EVGA X299 FTW K|i9-7960X@4.7|4x8 Patriot Viper Steel 4000|GTX 1660 Ti|970 EVO 1 TB|Seasonic Focus GX-1000|Xigmatek Elysium|Êèëî è ïîëîâèíà âîäà
    Rampage IV Extreme BE|E5-1680v2@4.7|4x4 HyperX 1866|Cougar Aqua 240|GTX 1050 Ti|970 EVO 1/4 TB|CM 850 SilentPro|HAF-X|Áåç èñòèíñêî âîäíî

  12. #12
    Ïðèìèòèâ Pesho®'s Avatar
    Join Date: Nov:2001
    Location: Sofia
    Posts: 5,169
    Íàé-ëåñíèÿò íà÷èí å ñ C++ è iostreams. Íàé-åôåêòèâíèÿò íà÷èí ïúê å ñ memory-mapped files. Bombera âå÷å å ïîñî÷èë ëèíê êúì óèíäîóñêèòå low-level API-òà çà öåëòà, àç îáà÷å áèõ ïðåäïî÷åë ìåæäóïëàòôîðìåíà ãîòîâà áèáëèîòåêà îò ïî-âèñîêî íèâî çà öåëòà, íàïðèìåð Boost.Interprocess.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  

Copyright © 1999-2011 Õàðäóåð ÁÃ. Âúçìîæíî å ñúäúðæàíèåòî íà òàçè ñòðàíèöà äà å îáåêò íà àâòîðñêè ïðàâà.
iskamPC.com | mobility.BG | Bloody's Techblog | Êðèïòîâàëóòè è ìàéíèíã | 3D Vision Blog | Ìàãàçèí çà åëåêòðîííè öèãàðè