Форум программистов, компьютерный форум CyberForum.ru

Работа со строками - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Функция strcat http://www.cyberforum.ru/cpp-beginners/thread17916.html
Нужно написать прогу на C++ и Ассемблере...функцмя strcat(на ассемблере сделал а вот на C++ не могу).Если кто поможет буду очень признателен....а если ещё и с пояснением то огромное спасибо заранее(в C++ полный 0)
C++ Динамическая память Народ, если кому не сложно помогите переделать вот эту программу со структурами нужно сделать так чтобы для хранения данных она использовала динамическую память вот программа: #include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> struct event{ http://www.cyberforum.ru/cpp-beginners/thread17864.html
Создание электронных часов в графическом режиме Borland C++ C++
Как создать электронные часы в графическом режиме Borland C++ ?
C++ Определить процент элементов с неотрицательными значениями в одномерном массиве
В общем я на первом курсе и в програминге практически не разбираюсь. Пытался выполнить задание, но ничего не получилось. Если знаете, помогите пожалуйста. Заранее спасибо. Задание такое: определить процент эелеметнов а(с индексом i внизу) с неотрицательными значениями в исходном одномерноем массиве а. Ограничения (1<=i<=imax; imax<=10) Вводимые величины - imax, массив а Выводимые велечины -...
C++ Сохранение всех входящих лексем(строк) в порядке поступления http://www.cyberforum.ru/cpp-beginners/thread17291.html
:help: Уже ни первый день бьюсь над ошибкой в подпрограмме транслятора? :wall: Цель подпрограммы: сохранение всех входящих лексем(строк) в порядке поступления. Описание: в динамическом массиве сохраняются только ранее неизвестные лексем. А порядок поступления обеспечивает массив указателей, ссылаясь на динамический массив. Реализация: struct entry { char importance; }; struct entry...
C++ Комментарии к Системе счисления Кто может напишите комментарии к проге,просто по отдельности нет смысла спрашивать потому что очень много что не понятна! Из 2-ой в 10-ую и обратно #include<iostream.h> #include<math.h> #include<conio.h> #include<stdlib.h> #include<stdio.h> #include<string.h> void main(void) подробнее

Показать сообщение отдельно
accept
4838 / 3237 / 165
Регистрация: 10.12.2008
Сообщений: 10,682
13.12.2008, 23:49     Работа со строками
этот участок можно заменить если компилятор не тянет ?:
Код
    fprintf(tfp, "%03d:%s", nl, (state == OUT ? line : "\n"));
на любой из этих
Код
    if (state == OUT)
        fprintf(tfp, "%03d:%s", nl, line);
    else
        fprintf(tfp, "%03d:\n", nl);
Код
    fprintf(tfp, "%03d:", nl);
    if (state == OUT)
        fprintf(tfp, "%s", line);
    else
        fprintf(tfp, "\n");
у меня когда я компилировал на борланде 90 года, вместо строк вообще всех выводился nil (ну типа 001:nil и тд), потому что борланд не понимает ?: внутри fprintf'a, хотя это соответствует стандарту 89 года

в lcc который я показывал тут, скомпилировалось всё нормально и в файл она нормально всё записала

из файла

Код
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
Код
001:a
002:
003:c
004:
005:
006:f
007:
008:
009:
010:j
011:
012:
013:
014:
015:o
016:
017:
018:
019:
020:
021:u
Добавлено через 1 час 48 минут 44 секунды
выяснил что происходит, короче bc3.1 поддерживает оператор ?:, но

Код
    fprintf(tfp, "%03d:%s", nl, (state == OUT ? line : "\n"));
содержит 2 аргумента после строки формата, если оставить один то всё работает (то есть нумерацию строк убрать, она будет распечатывать на выбор), то есть bc3.1 оператор знает но не тянет его так как надо

потому сработает вариант

Код
    fprintf(tfp, "%03d:", nl);
    fprintf(tfp, "%s", state == OUT ? line : "\n");
под виндой всё ок
 
Текущее время: 22:50. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru