Bug v c ?. Tento program by mal ist ale zo zahadnych dvovodov nejde. – C / C++ – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Bug v c ?. Tento program by mal ist ale zo zahadnych dvovodov nejde. – C / C++ – Fórum – Programujte.comBug v c ?. Tento program by mal ist ale zo zahadnych dvovodov nejde. – C / C++ – Fórum – Programujte.com

 

letsthrowq
~ Anonymní uživatel
13 příspěvků
28. 1. 2017   #1
-
0
-

Program by mi mal vypisat slovo do suboru ale nevypise a neviem preco. Tu je kod

#include <stdio.h>
#include <stdlib.h>

int main()
{
    FILE *f;
    char a[9999];
    int i;
    f = fopen("C:\\Users\JAKBO\Desktop\smernik.txt", "w");
    scanf ("%s", &a);
    fprintf (f,"%s", a);
    fclose(f);
    return 0;
}

Tu je dokaz o ceste k suboru http://prntscr.com/e1eqfb

Nahlásit jako SPAM
IP: 85.216.204.–
Doomista+1
Stálý člen
28. 1. 2017   #2
-
0
-

V první řadě fopen by měl umět ten soubor i vytvořit (vzhledem k tomu, že zapisuješ, nepřidáváš obsah, tak je to lepší přístup), takže ten soubor nemusíš předem vytvářet.
V druhé řadě si pomocí printf ověř, žes skutečně do a načetl to, co chceš. v druhé řadě si zkontroluj, zda f není z nějakého důvodu NULL viz dokumentace http://www.cplusplus.com/…stdio/fopen/
taky si zkontroluj návratovou hodnotu fprintf. pokud je záporná, zápis se nezdařil a bude nastavený ferror http://www.cplusplus.com/…tdio/ferror/

Nahlásit jako SPAM
IP: 2a00:1028:83a0:33ea:3182:...–
Na vše stačí iostream...
gna
~ Anonymní uživatel
1891 příspěvků
28. 1. 2017   #3
-
0
-

Proč nám ukazuješ soubor na ploše, když zapisuješ do souboru v rootu?

C:\UsersJAKBODesktopsmernik.txt
Nahlásit jako SPAM
IP: 213.211.51.–
Doomista+1
Stálý člen
28. 1. 2017   #4
-
0
-

No jo, pravda, já na ty backslashe koukal jak tele na nový vrata, ale nedošlo mi to :D

buď si escapuj všechny backslashe anebo používej normální lomítka, windowsům je to jedno. windowsům dokonce můžeš napsat i linuxovsky "/Users/JAKBO/Desktop/smernik.txt" a bude to fungovat

Nahlásit jako SPAM
IP: 2a00:1028:83a0:33ea:3182:...–
Na vše stačí iostream...
letsthrowq
~ Anonymní uživatel
13 příspěvků
29. 1. 2017   #5
-
0
-

#4 Doomista
diky moc už to funguje ako má :D

Nahlásit jako SPAM
IP: 85.216.204.–
30. 1. 2017   #6
-
0
-

Pozor na zpětná lomítka, pokud ho do literálu napíšeš jedno, spolu s následujícím znakem to bude chtít interpretovat jako escape sekvenci. Pokud napíšeš dvě, je to escape sekvence pro zpětné lomítko.

Dále se podívej do dokumentace, zda fopen umí vytvoři i adresář. Matně si vzpomínám, že adresář ve kterém se měl soubor vytvořit musel existovat.

hu

Nahlásit jako SPAM
IP: 195.178.67.–
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žit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 38 hostů

Moderátoři diskuze

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý