Ahoj, mám takový problém, potřebuji načíst z textového souboru seznam slov, se kterými poté dál budu pracovat (např. zjišťovat jejich délku atp.). Potřeboval bych radu, do jakého datového typu bych je měl nejlépe uložit abych měl později přístup k jednotlivým písmenům. A ještě dotaz jak je načíst ze soubory, když jsou vypsána pod sebou a mají každé jinou délku. Za každou radu předem moc a moc děkuji!
Fórum › C / C++
Načítání slov ze souboru
Slova v souboru budou oddělena "bílými" znaky. Když si soubor prohlédneš jako binární, zjistíš, jaké to jsou. Pokud jsou to znaky pro konec řádku, můžeš slovo načítat jako řádek. Slovo bych uložil do std::string, a ty pak uložil do std::vector.
hu
Kdyby něco nebylo jasný, ptej se ;-)
#include <iostream>
#include <fstream>
#include <string>
#include <vector>
using namespace std;
int main(void) {
// otevřeme soubor pro čtení
ifstream file("text.txt");
// struktura pro ukládání slov
vector<string> words;
// pomocný objekt pro načítání slov
string tmp;
// vkládáme slova ze souboru do struktury,
// dokud nenarazíme na konec souboru
while(getline(file, tmp))
words.push_back(tmp);
// zavřeme soubor
file.close();
// vypíšeme načtená slova
for (const auto & word : words)
cout << word << endl;
// vypíšeme druhé písmeno třetího slova
cout << words[2][1] << endl;
return 0;
}
#3 PiranhaGreg
no mám tu ještě jeden problém, dělám program do školy k vyřešení osmisměrky a když načtu písmena osmisměrky tímto stylem po volání funkce pro zobrazení mi vypisuje pouze ĚĚĚĚĚĚĚ. Obsahuje diakritické znaky a nevím jestli to mám všechno odháčkovat a odčárkovat nebo na to použít nějakou funkci
bool Nacist(char *nazevDat, Matice mat, int Sloupce, int Radky)
{
bool nacteni = false;
char c;
FILE *Soubor = fopen(nazevDat,"r");
if(Soubor!=NULL){#3 PiranhaGreg
nacteni = true;
for(int i=0;i<Radky;i++){
for(int j=0;j<Sloupce;j++){
c = getc(Soubor);
mat[Radky][Sloupce] = c;
}}}
else printf("Chyba nacteni souboru");
fclose(Soubor);
return nacteni;
}
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 31 hostů
Podobná vlákna
Načítání slov z .txt — založil Crassty
Kontrola slov ze souboru. — založil georgiok
Nahrazení slov v souboru txt — založil GunSpawn
Načtení slov do pole ze souboru — založil Kenvelo
Vypsani nejdelsich slov do textoveho souboru — založil Matej
Moderátoři diskuze