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

считывание амперсанда - C++

Войти
Регистрация
Восстановить пароль
 
axioma!
 Аватар для axioma!
0 / 0 / 0
Регистрация: 21.01.2013
Сообщений: 69
26.02.2013, 08:31     считывание амперсанда #1
Нужно сделать считывание амперсанда без замены его в цикле. С использованием gets и sscanf.

Добавлено через 4 часа 21 минуту
Код
#include "StdAfx.h"
#include <windows.h>
#include <iostream>
#include <iomanip>
#include <TCHAR.h>
#include <time.h>
#include <conio.h>
 
int _tmain( int argc, TCHAR *argv[] )
{
 
   STARTUPINFO si;
   PROCESS_INFORMATION pi;
   ZeroMemory( &si, sizeof(si) );
   si.cb = sizeof(si);
   ZeroMemory( &pi, sizeof(pi) );
   char szBuf[256];
   wchar_t szWBuf[256];
   int Count =1;
 
   while (strcmp(szBuf, "exit") != 0)
   {
      Count=1;
      scanf ("%s", szBuf);
      for (int i= 0; i<sizeof(szBuf); i++)
      {
         if (szBuf[i]=='&')
            {
                Count=0;
                szBuf[i]=' ';
            }
        }
        mbstowcs(szWBuf, szBuf, 256);
        // Запустим дочерний процесс.
 
        if( !CreateProcess(
        NULL, // Нет имени модуля (используется командная строка).
        szWBuf, // Командная строка. 
        NULL, // Дескриптор процесса не наследуемый.
        NULL, // Дескриптор потока не наследуемый.
        FALSE, // Установим наследование дескриптора в FALSE.
        0, // Флажков создания нет.
        NULL, // Используйте блок конфигурации родителя.
        NULL, // Используйте стартовый каталог родителя.
        &si, // Указатель на структуру STARTUPINFO.
        &pi ) // Указатель на структуру PROCESS_INFORMATION.)
        {
           printf( "CreateProcess failed (%d).\n", GetLastError() );
           return 0;
        }

        // Ждать до тех пор, пока дочерний процесс не выйдет из работы.
        if (Count==1)
        {
             WaitForSingleObject( pi.hProcess, INFINITE );
        }
 
         // Закроем дескрипторы процесса и потока.
         CloseHandle( pi.hProcess );
         CloseHandle( pi.hThread );
   }
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.02.2013, 08:31     считывание амперсанда
Посмотрите здесь:

C++ Почему в scanf("%s",ss) имя ss пишется без амперсанда?
C++ Считывание из файла
C++ Считывание из файла
C++ Считывание из файла.
C++ Считывание из файла
C++ знак амперсанда
C++ Считывание амперсанда
C++ Считывание из файла
Считывание строки C++
Функции амперсанда в условии if C++
C++ Что значат два амперсанда?
Почему функция не будет работать без амперсанда? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 04:02. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru