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
641
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
Persut eivät ole kertoneet euronkaan edestä säästökohteita
Mutta änkyttävät kysellä niistä muilta jatkuvasti. Vaikuttaa ettei persuilla ole kykyä omaan ajatteluun ja päätöksenteko2743477Työeläkeloisinta Suomen suurin talousongelma
Työeläkeloisinta maksaa vuodessa lähes 40 miljardia euroa, josta reilut 28 miljardia on pois palkansaajien ostovoimasta.1281852Israel euroviisujen 2.
Israel sai taas eniten yleisöääniä. Suomesta täydet 12 pistettä, poliittinen ”ammattiraati” antoi 0 pistettä. Hyvä Is2971605- 771462
- 771436
Mun mielestäni on tosi loukkaavaa
Nainen, että luulet palatan typeriä, sekavia ja ilkeitä viestejä mun kirjoittamiksi. Mä en ole katkera, epätoivoinen, ra2001140Odotettu tulos Taivalvaaran hiihtokeskuksen osalta
"MCS Finland Oy on ilmoittanut Taivalkosken kunnalle 30.4.2026, että se irtisanoo Taivalkosken kunnan ja MCS Finland Oy:531136- 631021
- 22997
Euroviisut ei enää niin musiikkikilpailu?
Kappaleiden taso ei enää ole mikä sijoituksen ratkaisee.Eikö kukaan ihmettele että Israel pärjää lähes joka vuosi kisois61960