Results 1 to 12 of 12
Thread: C/C++ ïðîìÿíà íà file?
Hybrid View
-
5th January 2007 12:33 #1
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 è ïðîäúëæåíèåòî. Àìà ìíîãî ãðîçíî òàêà. Ïî-åëåãàíòåí íà÷èí èìà ëè?
È íà Ñ è íà Ñ++ áè ìè ñâúðøèëî ðàáîòà.
-
5th January 2007 12:58 #2
Íå ñè ñå èçðàçèë ïðàâèëíî. Ñèòóàöèÿòà å, ÷å â ìîìåíòà èìàø "replace", à èñêàø äà èìàø "insert". Îòãîâîðúò å - íå ñòàâà. Ôàéëîâåòå íå ðàáîòÿò ïî òîçè íà÷èí. Àêî èñêàø äà "âìúêíåø" íåùî ïî ñðåäàòà íà ôàéë, òðÿáâà ðú÷íî äà shift-íåø îñòàíàëàòà ÷àñò îò íåãî íàòàòúê.
-
5th January 2007 13:16 #3
Áëàõ. Ùå âèäÿ íåùî çà ãîòîâè áèáëèîòåêè. Àêî íå ùå ìú÷à ñàì äà ïèøà òàêàâà
-
5th January 2007 14:25 #4
E ÷åòåø öåëèÿ è ïðåçàïèñâàø. Çà ìíîãî ãîëåìè çàïèñâàø òåìï ôàéë è ïîñëå ðåïëàöå íà ñòàðèÿ. Íèùî òîëêîâà ñëîæíî íÿìà.
Ïîñëåäíà ðåäàêöèÿ: èçâúðøåíà îò XaMaB; íà äíåøíà äàòà. 0.42 ñåêóíäè ñëåä ïóñêàíå íà ïîñòà
In God we Trust (all others must submit a X.509 certificate). Àêî ñïîðèø ñ èäèîò, âåðîÿòíî è òîé ïðàâè ñúùîòî èëè ñè ïîïàäíàë íà ïàðòèåí (íåïúëåí) ÷ëåí
-
5th January 2007 15:13 #5
SetField å ôóíêöèÿòà , íî ìàé ùå ñå íàëîæè äà ñè ÿ íàïèøåø, ïîíåæå íå ïîìíÿ â êàêâà ñðåäà ñúì ÿ ïîëçâàë. Ïîòúðñè îò google - ìèñëÿ ùå ÿ íàìåðèø ãîòîâà.
-
5th January 2007 17:22 #6
Õì ðåøèõ ñàì äà ñè ÿ íàïèøà, íî âúïðîñ.
Êàê äà ÷åòà òåêñòîâ 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.
-
5th January 2007 18:20 #7
Àêî íå òå ïëàøè äà ðàáîòèø ñúñ C++ è ïîòîöè, åäíî äîáðî ðåøåíèå ìè ñå âèæäà...
C++-ñêèÿ string ñå ñàìîðàçïúâà è ñàìîñâèâà êàêòî ñè òðåáå.Code:#include <iostream> #include <fstream> #include <string> using namespace std; ... ifstream fi("TheFileIWantToRead.txt"); string temp; while (fi >> temp) { /* Do stuff */ } ...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
-
5th January 2007 22:14 #8
Õì. íå ñðàáîòè êîìáèíàöèÿòà Ñ/Ñ++. Èíà÷å íà Ñ++ å íàèñòèíà òðèâèàëíî. Ñëåäâàùèÿ ïúò

Òîâà, êîåòî íàïðàâèõ å
1. Ïðàùàì ïîéíòåð êúì ôàéëà êúì ôóíêöèÿ.
2. Ïî÷âàì äà ÷åòà áóêâà ïî áóêâà äîêàòî ñòèãíà êðàÿ íà äóìàòà. Îòáðîÿâàì âñÿêà áóêâà.
3. Âðúùàì áðîÿ áóêâè.
4. Çàäåëÿì ìÿñòî sizeof(char)*(áðîÿ áóêâè+1) â áóôåð //+1 çà /0
5. Âðúùàì ïîéíòåðà òîëêîâà íàçàä, çà äà å â íà÷àëîòî íà äóìàòà.
6. ×åòà ÿ â áóôåðà, êîéòî âå÷å å òîëêîâà ãîëÿì, êîëêîòî òðÿáâà
-
6th January 2007 12:31 #9
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
-
7th January 2007 13:08 #10
Õì, ùå ïðîáâàì, íî êàêâî ùå ñå ïîëó÷è ñ file 1-2MB? Òîâà ñè å äîñòà ãîëÿì ìàñèâ...
-
7th January 2007 14:10 #11
Íàé-óäîáíî â ñëó÷àÿ å ñ File mapping,ñïåñòÿâàø ñè çàäåëÿíåòî íà ìíîãî ãîëåìè ìàñèâè ïàìåò, îñâåí çà ðàáîòíèòå òè áóôåðè, êàêòî è ñè ñúçäâàø óäîáñòâîòî ä ðàáîòèø ñ ôàéëîâèòå äàííè áåç ôàéëîâèòå ôóíêöèè, à ñ ôóíêöèè çà ðàáîòà ñ ïàìåòòà, êîèòî ìàíèïóëèðàò äèðåêòíî ôàéëà, íî êîäà íÿìà äà å ïîðòàáúë. Çàùî íå ëîóäâàø íà ÷àñòè ôàéëà è íå îïåðèðàø ïîñëåäîâàòåëíî âúðõó ìàëêè ÷àñòè îò íåãî?
http://msdn2.microsoft.com/en-us/library/aa366556.aspxEVGA 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|Áåç èñòèíñêî âîäíî
-
7th January 2007 14:28 #12
Íàé-ëåñíèÿò íà÷èí å ñ C++ è iostreams. Íàé-åôåêòèâíèÿò íà÷èí ïúê å ñ memory-mapped files. Bombera âå÷å å ïîñî÷èë ëèíê êúì óèíäîóñêèòå low-level API-òà çà öåëòà, àç îáà÷å áèõ ïðåäïî÷åë ìåæäóïëàòôîðìåíà ãîòîâà áèáëèîòåêà îò ïî-âèñîêî íèâî çà öåëòà, íàïðèìåð Boost.Interprocess.




Reply With Quote

Lenovo ThinkPad 15 èëè IdeaPad 15
5th May 2023, 22:16 in Ìîáèëíè êîìïþòðè