# Find sum of integers in a file which contains any characters

You are given a text file which contains any type of characters. You have to find the sum of integer values.

Examples:

```Input : text.txt
Let contents of test.txt be :
:-,,\$%^5313&^*1)(*(
464sz29>>///11!!!
(*HB%\$#)(*0900

Output : 6727

Input : text1.txt
Let contents of test.txt be :
234***3r3r()
()(0)34

Output : 274
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

Steps :
1. To open the file in only read mode we can use ifstream library
2. Iterate through all rows of the file and find all integers
3. If integer found then store it in temp variable because there is a chance that next character can be an integer
4. Add temp value in final result if any character found except integers and set temp = 0 again
5. If last element is an integer then we have to add temp after loop if it isn’t then the value of temp will already be zero. So sum will not affected.

 `// C++ implementation of given text file which ` `// contains any type of characters. We have to ` `// find the sum of integer value. ` `#include ` `using` `namespace` `std; ` ` `  `// a function which return sum of all integers ` `// find in input text file ` `int` `findSumOfIntegers() ` `{ ` `    ``ifstream f; ``// to open the text file in read mode ` `    ``f.open(``"text.txt"``); ` `     `  `    ``int` `sum = 0, num = 0; ` ` `  `    ``// One by one read strings from file. Note that ` `    ``// f >> text works same as cin >> text. ` `    ``string text; ` `    ``while` `(f >> text) { ` ` `  `        ``// Move in row and find all integers ` `        ``for` `(``int` `i = 0; text[i] != ``'\0'``; i++) { ` ` `  `            ``// Find value of current integer ` `            ``if` `(``isdigit``(text[i]))  ` `                ``num = 10 * num + (text[i] - ``'0'``);             ` ` `  `            ``// If other character, add it to the ` `            ``// result ` `            ``else` `{ ` `                ``sum += num; ` `                ``num = 0; ``// and now replace ` `                         ``// previous number with 0 ` `            ``} ` `        ``} ` `    ``} ` `    ``sum += num; ` `    ``return` `sum; ` `} ` ` `  `// Driver program to test above functions ` `int` `main() ` `{ ` `    ``cout << findSumOfIntegers(); ` `    ``return` `0; ` `} `

Output:

```6727 (for Input 1)
```

This article is contributed by Harshit Agrawal. If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.