Как перейти на новую строку в си
Перейти к содержимому

Как перейти на новую строку в си

  • автор:

Как перейти на новую строку в си

Здравствуйте господа программеры!

есть строка кода вида:

#define ALL_FLAGS (FLAG1 | FLAG2 | FLAG3 | . FLAGN)

длинное перечисление всех флагов.
естественно просматривать длинную строку неудобно.
как перенести строку кода на другую строку (если в макросе это вообще возможно) ?

зы. я родом из Delphi и в «Сях» еще пока плаваю

Re: Перенос длинной строки кода . ?

От: DV_Sergey
Дата: 18.07.05 04:13
Оценка:

Здравствуйте, Callisto, Вы писали:

C>Здравствуйте господа программеры!

C>есть строка кода вида:

C>#define ALL_FLAGS (FLAG1 | FLAG2 | FLAG3 | . FLAGN)

C>длинное перечисление всех флагов.
C>естественно просматривать длинную строку неудобно.
C>как перенести строку кода на другую строку (если в макросе это вообще возможно) ?

C>зы. я родом из Delphi и в «Сях» еще пока плаваю

символ \ используется для переноса строк в С/С++

Re[2]: Перенос длинной строки кода . ?

От: Callisto
Дата: 18.07.05 05:12
Оценка:

DV_>символ \ используется для переноса строк в С/С++

Переход на новую строку

Author24 — интернет-сервис помощи студентам

Дан текст в файле input.txt. Проверяет чтобы после каждой точки предложение начиналось с большой буквы.Корректный текст записывает в файл output.txt.Корректно преобразует только первую строку.Но если в файле input.txt написать слово или предложение с новой строки,происходит ошибка .Задача состоит в том,чтобы происходило считывание из файла с новой строки.Помогите,пожалуйста!

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66
# include # include # include void main() { SetConsoleOutputCP(1251); FILE *f; FILE *g; char s[80]; int np,i,t; char *p; f=fopen("input.txt", "r"); if (f==NULL) { printf("файл не найден"); return; } t=0; while(1) { p=fgets(s,80,f); if (p==NULL) { printf("файл закончился\n");break; } else { printf("прочитана строка:\n%s",s); while(tstrlen(s)) { np=t; i=t+1; while (s[i]!='.') { if ((s[np]>=-32) && (s[np]0)) s[np]-=32; if((s[i]>=-64)&&(s[i]32)) s[i]+=32; i++; } t=i+1; } } } fclose(f); g=fopen("output.txt", "w"); fprintf(g,"%s",s); fclose(g); printf("Преобразованный текст:\n%s",s); getchar(); getchar(); }

Как на Си реализовать ввод в файл с новой строки?

P.S. Такими формулировками вопросов можно же людям весь мозг сломать. И вообще это в Development должно быть.

xaizek ★★★★★
( 04.11.17 16:43:28 MSK )
anonymous
( 04.11.17 16:44:57 MSK )

#include #include #include int main(void) < FILE *fp = NULL; size_t filesize = 0; char *filecontents = NULL; const char *strfilewrite = "lor is a wonderful site"; // разумное чтение fp = fopen("file.txt", "r"); if (fp == NULL) < fprintf(stderr, "open file error\n"); return -1; >fseek(fp, 0L, SEEK_END); filesize = ftell(fp); fseek(fp, 0L, SEEK_SET); filecontents = (char *) malloc((filesize +1) * sizeof(char)); if (filecontents == NULL) < fprintf(stderr, "mem alloc error\n"); return -1; >fread(filecontents, sizeof(char), filesize, fp); *(filecontents + filesize) = '\0'; fprintf(stdout, "%s\n", filecontents); free(filecontents); fclose(fp); // разумная запись fp = fopen("file.txt", "a+"); fwrite(strfilewrite, sizeof(char), strlen(strfilewrite), fp); fclose(fp); return 0; >

как-то так.. вне проверял, тут печатал.

cherry
( 05.11.17 13:53:22 MSK )
Ответ на: комментарий от xaizek 04.11.17 16:43:28 MSK

И вообще это в Development должно быть.

Может, он ядро переписывает, бгг.

Virtuos86 ★★★★★
( 05.11.17 13:55:36 MSK )
Ответ на: комментарий от cherry 05.11.17 13:53:22 MSK

 // разумная запись fp = fopen("file.txt", "a+"); if (fp == NULL) < // забыл проверочку. fprintf(stderr, "open file error\n"); return -1; >fwrite(strfilewrite, sizeof(char), strlen(strfilewrite), fp); fclose(fp);

Как перейти на новую строку в си

Регистрация: 15.08.2008

Сообщений: 2,502

собственно есть функции для установки курсора (ну или позиции) в файле это допустим fseek и fsetpos!
Они смещают положение на n байт!
Но не проще ли считывать всю строку! Допустим так

char *s; int i; ifstream fin(input.txt); if (fin) while (!fin.eof()) < fin >> s; for (i = 0; i < strlen(s); i++) < if (s[i] == '$') < //нашли break; // глушим цикл читаем следующую строку >> >

Mess with the best, die like the rest. (с) Hackers
Лабораторные, курсовые на Delphi\Pascal\C++
ya.flex-freelance@yandex.ru Icq — 636-954-303

Hacker19_90
Посмотреть профиль
Найти ещё сообщения от Hacker19_90

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *