Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie einen String in C++ in einen Int-Wert

So konvertieren Sie einen String in C++ in einen Int-Wert

下次还敢
下次还敢Original
2024-05-01 13:27:16946Durchsuche

In C++ gibt es zwei Möglichkeiten, einen String in int zu konvertieren: Verwenden Sie die Funktion sto i(), die den String direkt empfängt und eine Ganzzahl zurückgibt. Verwenden Sie die Klasse isringstream, um die Zeichenfolge in einen Eingabestream zu analysieren und die Ganzzahlen zu extrahieren. Die gewählte Methode hängt vom String-Format ab: stoi() ist prägnanter, wenn das Format eindeutig ist und keine nicht numerischen Zeichen enthält; isstringstream ist flexibler, wenn der String möglicherweise nicht numerische Zeichen enthält oder eine benutzerdefinierte Konvertierung erfordert.

So konvertieren Sie einen String in C++ in einen Int-Wert

Methode zum Konvertieren von Zeichenfolgen in int in C++

In C++ gibt es die folgenden zwei Methoden zum Konvertieren von Zeichenfolgen (strings) in Ganzzahlen (int):

1. stoi()-Funktion

Die Verwendung der integrierten Funktion stoi() ist die einfachste und direkteste Methode. Es nimmt einen String-Parameter und gibt eine Ganzzahl zurück. stoi() 函数是最简单直接的方法。它接收一个字符串参数并返回一个整数。

<code class="cpp">#include <iostream>
#include <string>

int main() {
  std::string str = "123";
  int number = stoi(str);
  std::cout << "String: " << str << "\n";
  std::cout << "Integer: " << number << "\n";
  return 0;
}</code>

2. istringstream

另一种方法是使用 istringstream 类。它将字符串解析为输入流,然后可以使用 运算符提取整数。

<code class="cpp">#include <iostream>
#include <sstream>

int main() {
  std::string str = "456";
  std::istringstream iss(str);
  int number;
  iss >> number;
  std::cout << "String: " << str << "\n";
  std::cout << "Integer: " << number << "\n";
  return 0;
}</code>

选择哪种方法?

  • 如果字符串格式明确,并且不包含任何非数字字符,则 stoi() 函数是更简单、更快的选择。
  • 如果字符串可能包含非数字字符或需要自定义转换行为,则 istringstreamrrreee
2. isringstream🎜🎜🎜Eine andere Möglichkeit ist die Verwendung der Klasse istringstream. Es analysiert die Zeichenfolge in einen Eingabestream, aus dem Ganzzahlen mit dem Operator extrahiert werden können. 🎜rrreee🎜🎜Welche Methode soll ich wählen? 🎜🎜
  • Wenn die Zeichenfolge wohlgeformt ist und keine nicht numerischen Zeichen enthält, ist die Funktion stoi() die einfachere und schnellere Option. 🎜
  • istringstream ist flexibler, wenn die Zeichenfolge möglicherweise nicht numerische Zeichen enthält oder wenn ein benutzerdefiniertes Konvertierungsverhalten erforderlich ist. 🎜🎜

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie einen String in C++ in einen Int-Wert. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn