Mun harkkatyö on kohta tehty ja häivyn täältä kyselemästä tyhmiä, yhden jos vielä kestätte.
Olisiko olemassa gets-funktiota vastaava funktio, joka lukisi käyttäjän syöttämän rivin suoraan tiedostoon? *turha toivo?*
(Onhan siis niin, että gets ei välitä, vaikka luettu rivi olisi pitempi kuin muistitila, johon sen arvon yrittää tunkea, vaan pahassa tapauksessa se jatkaa tallettamista sujuvasti taulukon ylikin?)
funktiota
4
466
Vastaukset
#include
fputs - int fputs(const char *s, FILE *stream);
fputs() writes the string s to stream, without its trailing '\0'.- Ninni_
Tarkotin sellasta, joka lukis stdinistä suoraan tiedostoon... kun haluisin välttää sen, että mun char[]-muuttuja loppuu kesken jos käytän getsiä.
:/ - hjelppi
Ninni_ kirjoitti:
Tarkotin sellasta, joka lukis stdinistä suoraan tiedostoon... kun haluisin välttää sen, että mun char[]-muuttuja loppuu kesken jos käytän getsiä.
:/###################################
libc:tä käyttäen
#include
#include
#define BUFSIZE 8192
int main(int argc, char *argv[])
{
char buf[BUFSIZE];
FILE *fd;
fd = fopen("file2.txt", "w ");
while ( fgets(buf, BUFSIZE, stdin) != NULL) {
fputs(buf, fd);
}
exit(0);
}
####################Alustana linukka:
#include
#include
#include
#include
#include
#include
#define BUFSIZE 8192
int main(int argc, char *argv[])
{
int fd_out, n;
char buf[BUFSIZE];
fd_out = open("file.txt", O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IRGRP | S_IROTH);
while ( (n = read(STDIN_FILENO, buf, BUFSIZE)) != 0) {
write(fd_out, buf, n);
}
exit(0);
}
Tapa kaksi: - Ninni_
hjelppi kirjoitti:
###################################
libc:tä käyttäen
#include
#include
#define BUFSIZE 8192
int main(int argc, char *argv[])
{
char buf[BUFSIZE];
FILE *fd;
fd = fopen("file2.txt", "w ");
while ( fgets(buf, BUFSIZE, stdin) != NULL) {
fputs(buf, fd);
}
exit(0);
}
####################Alustana linukka:
#include
#include
#include
#include
#include
#include
#define BUFSIZE 8192
int main(int argc, char *argv[])
{
int fd_out, n;
char buf[BUFSIZE];
fd_out = open("file.txt", O_WRONLY | O_CREAT | O_TRUNC, S_IRUSR | S_IRGRP | S_IROTH);
while ( (n = read(STDIN_FILENO, buf, BUFSIZE)) != 0) {
write(fd_out, buf, n);
}
exit(0);
}
Tapa kaksi:Voi kiitos. Eiköhän noilla. :)
Ketjusta on poistettu 0 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Vassarina hymyilyttää vaurastuminen persujen kustannuksella
Olen sijottanut määrätietoisesti osan Kelan tuista pörssiosakkeisiin, ja salkku on paisunut jo toiselle sadalle tuhanne272360Riikka runnoo: Elisalta potkut 400:lle
Erinomaisen hallitusohjelman tavoite 100 000 työllistä lisää yksityisellä sektorilla on kohta saavutettu. Toivotaan toiv572238Jalankulkija kuoli. Poliisi etsii mustaa BMW Coupe -autoa, jossa on punertavat vanteet.
Jalankulkija kuoli jäätyään auton alle Joensuussa – kuljettaja pakeni, poliisi pyytää havaintoja https://www.mtvuutiset.641753Pääseekö kuka tahansa hoitaja katselemaan kenen tahansa ihmisen terveystietoja?
"Meeri selaili puhelinta uteliaisuuttaan ja katuu nyt – Moni hoitaja on tehnyt saman rikoksen Tuttujen ihmisten asiat k651738Niinistö neliraajajarrutteli Natoon liittymistä vielä sodan alettua
Myöntää nyt itsekin, mikä jo aikaisemmin tiedettiin. Marin vei Suomen ja Ruotsin Natoon. "”Myönnän auliisti jarruttelle1941697Kokoomus on Suomen kommunistisin puolue
"Hallituksessa on erimielisyyttä siitä, kuinka suuri osa veronkiristyksestä hyvitetään datakeskuksille uudella erillisel821632- 1131500
- 1051252
Martina haluaa tasoisensa miehen
Seiskassa juttu minkälaisen miehen Martina haluaa. Kumppanin pitää tuoda hänen herkkyytensä ja vahvuutensa esiin sekä ol2401067Voi ei! Katja Ståhl joutui sairaalaan - Syynä tämä vitsaus - Koskettava päivitys sairaalasängystä
Pikaista paranemista, Katja! Katja Ståhl on kertonut somessa joutuneensa sisään sairaalaan. Lue lisää: https://www.suom21935