Задать вопрос
  • Как заменить символы в текстовом файле?

    asyaevloeva
    @asyaevloeva Автор вопроса
    чет сложно
    как исправить траблы со static_cast?
    a7c21917e75d48cbb821b00d3a4e2a02.png
  • Как заменить символы в текстовом файле?

    asyaevloeva
    @asyaevloeva Автор вопроса
    devalone: ой да, этот вариант подходит, спасибо)
  • Как заменить символы в текстовом файле?

    asyaevloeva
    @asyaevloeva Автор вопроса
    devalone: 1ая ссылка зачем?? 2ая ссылка - не нашла там как заменять символы например этот ' и как заменить все буквы не из английского алфавита, как заменить перевод строки на пробел??? по этой ссылке увидела решение которое я уже привела в комментарии, решения с использованием буста (а мне нужно со стандартными либами) и решения которые не работают с пробелами и переводом строки((
  • Как заменить символы в текстовом файле?

    asyaevloeva
    @asyaevloeva Автор вопроса
    devalone: ну дак есть примеры как заменять?
    если около 50000 символов в файле, то нормально будет?
  • Как заменить символы в текстовом файле?

    asyaevloeva
    @asyaevloeva Автор вопроса
    мне нужно что-то вроде replace( s.begin(), s.end(), 'x', 'y'); только чтобы работало со всякими символами и получше решение
  • Как заменить символы в текстовом файле?

    asyaevloeva
    @asyaevloeva Автор вопроса
    тут вообще нет по теме вопроса, про открытие файлов я не спрашивала
  • Как установить openssl для android x86?

    asyaevloeva
    @asyaevloeva Автор вопроса
    СПАСИБО!!!
  • Как установить openssl для android x86?

    asyaevloeva
    @asyaevloeva Автор вопроса
    это для линукса, а я на винде делаю
    я по похожему туториалу делала
    но у меня такие ошибки
    <b>при попытке сбилдить openssl-1.0.2.l такое:</b>
    xxx@User MINGW64 /c/openssl/ssl/openssl-1.0.2l
    $  make depend
    making depend in crypto...
    make[1]: Entering directory 'C:/openssl/ssl/openssl-1.0.2l/crypto'
    ../util/domd: line 28: i686-linux-android-gcc: command not found
    make[1]: *** [Makefile:137: local_depend] Error 1
    make[1]: Leaving directory 'C:/openssl/ssl/openssl-1.0.2l/crypto'
    make: *** [Makefile:484: depend] Error 1
    
    <b>с openssl-1.1.0 такое:</b>
    
    xxx@User MINGW64 /c/openssl/ssl/openssl-1.1.0f
    $ make all
    C:/Git/mingw64/bin/make depend && C:/Git/mingw64/bin/make _all
    make[1]: Entering directory 'C:/openssl/ssl/openssl-1.1.0f'
    make[1]: Leaving directory 'C:/openssl/ssl/openssl-1.1.0f'
    make[1]: Entering directory 'C:/openssl/ssl/openssl-1.1.0f'
    i686-linux-android-ar  r libcrypto.a crypto/aes/aes-586.o crypto/aes/aes_cfb.o crypto/aes/aes_ecb.o crypto/aes/aes_ige.o crypto/aes/aes_misc.o crypto/aes/aes_ofb.o crypto/aes/aes_wrap.o crypto/aes/aesni-x86.o crypto/aes/vpaes-x86.o crypto/asn1/a_bitstr.o crypto/asn1/a_d2i_fp.o crypto/asn1/a_digest.o crypto/asn1/a_dup.o crypto/asn1/a_gentm.o crypto/asn1/a_i2d_fp.o crypto/asn1/a_int.o crypto/asn1/a_mbstr.o crypto/asn1/a_object.o crypto/asn1/a_octet.o crypto/asn1/a_print.o crypto/asn1/a_sign.o crypto/asn1/a_strex.o crypto/asn1/a_strnid.o crypto/asn1/a_time.o 
    
    ...много подобных строк...
    
    crypto/x509v3/v3_ia5.o crypto/x509v3/v3_info.o crypto/x509v3/v3_int.o crypto/x509v3/v3_lib.o crypto/x509v3/v3_ncons.o crypto/x509v3/v3_pci.o crypto/x509v3/v3_pcia.o crypto/x509v3/v3_pcons.o crypto/x509v3/v3_pku.o crypto/x509v3/v3_pmaps.o crypto/x509v3/v3_prn.o crypto/x509v3/v3_purp.o crypto/x509v3/v3_skey.o crypto/x509v3/v3_sxnet.o crypto/x509v3/v3_tlsf.o crypto/x509v3/v3_utl.o crypto/x509v3/v3err.o crypto/x86cpuid.o, ...) failed.
    make (e=2): ▒▒ ▒▒▒▒▒▒▒ ▒▒▒▒▒ ▒▒▒▒▒▒▒▒▒ ▒▒▒▒.
    make[1]: *** [Makefile:636: libcrypto.a] Error 2
    make[1]: Leaving directory 'C:/openssl/ssl/openssl-1.1.0f'
    make: *** [Makefile:126: all] Error 2

    мой setenv-android.sh файл
    #!/bin/bash
    # Cross-compile environment for Android on ARMv7
    #
    # Contents licensed under the terms of the OpenSSL license
    # http://www.openssl.org/source/license.html
    
    # Set ANDROID_NDK_ROOT to you NDK location. For example,
    # /opt/android-ndk-r8e. This can be done in a login script. If
    # ANDROID_NDK_ROOT is not specified, the script will try to pick it
    # up with the value of _ANDROID_NDK_ROOT below. If ANDROID_NDK_ROOT
    # is set, then the value is ignored.
    _ANDROID_NDK="android-ndk-r13b"
    
    # Set _ANDROID_EABI to the EABI you want to use. You can find the
    # list in $ANDROID_NDK_ROOT/toolchains. This value is always used.
    #_ANDROID_EABI="arm-linux-androideabi-4.8"
    _ANDROID_EABI="x86-4.9"
    
    # Set _ANDROID_API to the API you want to use. You should set it
    # to one of: android-14, android-9, android-8, android-14, android-5
    # android-4, or android-3. You can't set it to the latest (for
    # example, API-17) because the NDK does not supply the platform. At
    # Android 5.0, there will likely be another plaform added (android-18?).
    # This value is always used.
    _ANDROID_API="android-24"
    
    #####################################################################
    
    # If the user did not specify the NDK location, try and pick it up.
    # We expect something like ANDROID_NDK_ROOT=/opt/android-ndk-r8e
    # or ANDROID_NDK_ROOT=/usr/local/android-ndk-r8e.
    
    if [ -z "$ANDROID_NDK_ROOT" ]; then
    
      _ANDROID_NDK_ROOT="C:/Android/Android/sdk/ndk-bundle"
      if [ -z "$_ANDROID_NDK_ROOT" ] && [ -d "/usr/local/$_ANDROID_NDK" ]; then
        _ANDROID_NDK_ROOT="/usr/local/$_ANDROID_NDK"
      fi
    
      if [ -z "$_ANDROID_NDK_ROOT" ] && [ -d "/opt/$_ANDROID_NDK" ]; then
        _ANDROID_NDK_ROOT="/opt/$_ANDROID_NDK"
      fi
    
      if [ -z "$_ANDROID_NDK_ROOT" ] && [ -d "$HOME/$_ANDROID_NDK" ]; then
        _ANDROID_NDK_ROOT="$HOME/$_ANDROID_NDK"
      fi
    
      if [ -z "$_ANDROID_NDK_ROOT" ] && [ -d "$PWD/$_ANDROID_NDK" ]; then
        _ANDROID_NDK_ROOT="$PWD/$_ANDROID_NDK"
      fi
    
      # If a path was set, then export it
      if [ ! -z "$_ANDROID_NDK_ROOT" ] && [ -d "$_ANDROID_NDK_ROOT" ]; then
        export ANDROID_NDK_ROOT="$_ANDROID_NDK_ROOT"
      fi
    fi
    
    # Error checking
    # ANDROID_NDK_ROOT should always be set by the user (even when not running this script)
    # http://groups.google.com/group/android-ndk/browse_thread/thread/a998e139aca71d77
    if [ -z "$ANDROID_NDK_ROOT" ] || [ ! -d "$ANDROID_NDK_ROOT" ]; then
      echo "Error: ANDROID_NDK_ROOT is not a valid path. Please edit this script."
      # echo "$ANDROID_NDK_ROOT"
      # exit 1
    fi
    
    # Error checking
    if [ ! -d "$ANDROID_NDK_ROOT/toolchains" ]; then
      echo "Error: ANDROID_NDK_ROOT/toolchains is not a valid path. Please edit this script."
      # echo "$ANDROID_NDK_ROOT/toolchains"
      # exit 1
    fi
    
    # Error checking
    if [ ! -d "$ANDROID_NDK_ROOT/toolchains/$_ANDROID_EABI" ]; then
      echo "Error: ANDROID_EABI is not a valid path. Please edit this script."
      # echo "$ANDROID_NDK_ROOT/toolchains/$_ANDROID_EABI"
      # exit 1
    fi
    
    #####################################################################
    
    # Based on ANDROID_NDK_ROOT, try and pick up the required toolchain. We expect something like:
    # /opt/android-ndk-r83/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_64/bin
    # Once we locate the toolchain, we add it to the PATH. Note: this is the 'hard way' of
    # doing things according to the NDK documentation for Ice Cream Sandwich.
    # https://android.googlesource.com/platform/ndk/+/ics-mr0/docs/STANDALONE-TOOLCHAIN.html
    
    ANDROID_TOOLCHAIN=""
    for host in "windows-x86_64"
    #"linux-x86_64" "linux-x86" "darwin-x86_64" "darwin-x86" 
    do
      if [ -d "$ANDROID_NDK_ROOT/toolchains/$_ANDROID_EABI/prebuilt/$host/bin" ]; then
        ANDROID_TOOLCHAIN="$ANDROID_NDK_ROOT/toolchains/$_ANDROID_EABI/prebuilt/$host/bin"
        break
      fi
    done
    
    # Error checking
    if [ -z "$ANDROID_TOOLCHAIN" ] || [ ! -d "$ANDROID_TOOLCHAIN" ]; then
      echo "Error: ANDROID_TOOLCHAIN is not valid. Please edit this script."
      # echo "$ANDROID_TOOLCHAIN"
      # exit 1
    fi
    
    # Error checking
    
    if [ ! -e "$ANDROID_TOOLCHAIN/i686-linux-android-gcc" ]; then
    #if [ ! -e "$ANDROID_TOOLCHAIN/arm-linux-androideabi-gcc" ]; then
      echo "Error: Failed to find Android gcc. Please edit this script."
      # echo "$ANDROID_TOOLCHAIN/arm-linux-androideabi-gcc"
      # exit 1
    fi
    
    # Error checking
    if [ ! -e "$ANDROID_TOOLCHAIN/i686-linux-android-ranlib" ]; then
    #if [ ! -e "$ANDROID_TOOLCHAIN/arm-linux-androideabi-ranlib" ]; then
      echo "Error: Failed to find Android ranlib. Please edit this script."
      # echo "$ANDROID_TOOLCHAIN/arm-linux-androideabi-ranlib"
      # exit 1
    fi
    
    
    # Error checking
    if [ -z "$ANDROID_TOOLCHAIN" ] || [ ! -d "$ANDROID_TOOLCHAIN" ]; then
      echo "Error: ANDROID_TOOLCHAIN is not valid. Please edit this script."
      # echo "$ANDROID_TOOLCHAIN"
      # exit 1
    fi
    
    case $_ANDROID_ARCH in
    	arch-arm)	  
          ANDROID_TOOLS="arm-linux-androideabi-gcc arm-linux-androideabi-ranlib arm-linux-androideabi-ld"
    	  ;;
    	arch-x86)	  
          ANDROID_TOOLS="i686-linux-android-gcc i686-linux-android-ranlib i686-linux-android-ld"
    	  ;;	  
    	*)
    	  echo "ERROR ERROR ERROR"
    	  ;;
    esac
    
    for tool in $ANDROID_TOOLS
    do
      # Error checking
      if [ ! -e "$ANDROID_TOOLCHAIN/$tool" ]; then
        echo "Error: Failed to find $tool. Please edit this script."
        # echo "$ANDROID_TOOLCHAIN/$tool"
        # exit 1
      fi
    done
    
    
    
    
    
    # Only modify/export PATH if ANDROID_TOOLCHAIN good
    if [ ! -z "$ANDROID_TOOLCHAIN" ]; then
      export ANDROID_TOOLCHAIN="$ANDROID_TOOLCHAIN"
      export PATH="$ANDROID_TOOLCHAIN":"$PATH"
    fi
    
    #####################################################################
    
    # For the Android SYSROOT. Can be used on the command line with --sysroot
    # https://android.googlesource.com/platform/ndk/+/ics-mr0/docs/STANDALONE-TOOLCHAIN.html
    export ANDROID_SYSROOT="$ANDROID_NDK_ROOT/platforms/$_ANDROID_API/arch-x86"
    export SYSROOT="$ANDROID_SYSROOT"
    export NDK_SYSROOT="$ANDROID_SYSROOT"
    
    # Error checking
    if [ -z "$ANDROID_SYSROOT" ] || [ ! -d "$ANDROID_SYSROOT" ]; then
      echo "Error: ANDROID_SYSROOT is not valid. Please edit this script."
      # echo "$ANDROID_SYSROOT"
      # exit 1
    fi
    
    #####################################################################
    
    # If the user did not specify the FIPS_SIG location, try and pick it up
    # If the user specified a bad location, then try and pick it up too.
    if [ -z "$FIPS_SIG" ] || [ ! -e "$FIPS_SIG" ]; then
    
      # Try and locate it
      _FIPS_SIG=""
      if [ -d "/usr/local/ssl/$_ANDROID_API" ]; then
        _FIPS_SIG=`find "/usr/local/ssl/$_ANDROID_API" -name incore`
      fi
    
      if [ ! -e "$_FIPS_SIG" ]; then
        _FIPS_SIG=`find $PWD -name incore`
      fi
    
      # If a path was set, then export it
      if [ ! -z "$_FIPS_SIG" ] && [ -e "$_FIPS_SIG" ]; then
        export FIPS_SIG="$_FIPS_SIG"
      fi
    fi
    
    # Error checking
    if [ -z "$FIPS_SIG" ] || [ ! -e "$FIPS_SIG" ]; then
      echo "Error: FIPS_SIG does not specify incore module. Please edit this script."
      # echo "$FIPS_SIG"
      # exit 1
    fi
    
    #####################################################################
    
    # Most of these should be OK (MACHINE, SYSTEM, ARCH). RELEASE is ignored.
    export MACHINE=i686
    export RELEASE=2.6.37
    export SYSTEM=android
    export ARCH=x86
    export CROSS_COMPILE="i686-linux-android-"
    
    # For the Android toolchain
    # https://android.googlesource.com/platform/ndk/+/ics-mr0/docs/STANDALONE-TOOLCHAIN.html
    export ANDROID_SYSROOT="$ANDROID_NDK_ROOT/platforms/$_ANDROID_API/arch-x86"
    export SYSROOT="$ANDROID_SYSROOT"
    export NDK_SYSROOT="$ANDROID_SYSROOT"
    export ANDROID_NDK_SYSROOT="$ANDROID_SYSROOT"
    export ANDROID_API="$_ANDROID_API"
    
    # CROSS_COMPILE and ANDROID_DEV are DFW (Don't Fiddle With). Its used by OpenSSL build system.
    #export CROSS_COMPILE="arm-linux-androideabi-"
    export CROSS_COMPILE="i686-linux-android-"
    export ANDROID_DEV="$ANDROID_NDK_ROOT/platforms/$_ANDROID_API/arch-x86/usr"
    #export ANDROID_DEV="$ANDROID_NDK_ROOT/platforms/$_ANDROID_API/arch-arm/usr"
    export HOSTCC=gcc
    
    VERBOSE=1
    if [ ! -z "$VERBOSE" ] && [ "$VERBOSE" != "0" ]; then
      echo "ANDROID_NDK_ROOT: $ANDROID_NDK_ROOT"
      echo "ANDROID_EABI: $_ANDROID_EABI"
      echo "ANDROID_API: $ANDROID_API"
      echo "ANDROID_SYSROOT: $ANDROID_SYSROOT"
      echo "ANDROID_TOOLCHAIN: $ANDROID_TOOLCHAIN"
      echo "FIPS_SIG: $FIPS_SIG"
      echo "CROSS_COMPILE: $CROSS_COMPILE"
      echo "ANDROID_DEV: $ANDROID_DEV"
    fi

  • Почему вылетает консоль, после выполнения программы?

    asyaevloeva
    @asyaevloeva Автор вопроса
    чем же плохо использовать fopen?
  • Почему вылетает консоль, после выполнения программы?

    asyaevloeva
    @asyaevloeva Автор вопроса
    Алексей Гриченко: блин рили из-за этого было, поменяла 135 на SIZE и перестало вылетать :D
  • Почему вылетает консоль, после выполнения программы?

    asyaevloeva
    @asyaevloeva Автор вопроса
    как исправить, чтоб не выходило за пределы?
  • Почему вылетает консоль, после выполнения программы?

    asyaevloeva
    @asyaevloeva Автор вопроса
    devalone: в дебагере ничего не понятно a065ae5dcff14b3ca47d949ea370f1b4.png
  • Почему вылетает консоль, после выполнения программы?

    asyaevloeva
    @asyaevloeva Автор вопроса
    если поменять на i тоже самое
  • Почему вылетает консоль, после выполнения программы?

    asyaevloeva
    @asyaevloeva Автор вопроса
    ну я и так (наверное) знаю, где ошибка, но исправить не могу
  • Как использовать флаги g++ в среде разработки?

    asyaevloeva
    @asyaevloeva Автор вопроса
    Яков Е: просто я не очень понимаю как берутся эти файлы, поэтому и не могу переписать
  • Как использовать флаги g++ в среде разработки?

    asyaevloeva
    @asyaevloeva Автор вопроса
    Яков Е: ну я вообще-то так и пыталась сделать, оно отлично компилится, но чтобы прога запустилась мне надо каким-то образом выполнить эти команды
    g++ -Wall src/myfile1.cpp -o myfile1.exe
    g++ -Wall src/myfile2.cpp -o myfile2.exe
    myfile1.exe data/file.one data/file.two model_file
    myfile2.exe data/file.test model_file file.out

    без них ничего не работает
  • Как использовать флаги g++ в среде разработки?

    asyaevloeva
    @asyaevloeva Автор вопроса
    Яков Е: проблема в том, что есть файлы, которе я могу запустить только через cmd с g++, а мне нужно добавить их к своему проекту, чтобы они также нормально запускались через vs/qt
  • Как использовать флаги g++ в среде разработки?

    asyaevloeva
    @asyaevloeva Автор вопроса
    можно поподробнее как указать в настройках проекта? (или какие-нибудь ссылочки на туториалы как это сделать) и как это решить через qmake?
    но больше хотелось бы подобное решение для VS