C :: Removing Trailing Character With Strtok
Sep 18, 2013
I am having a problem with the output of a file. My function does everything it needs to do with the exception of one line. I have a .dat file with the following:
Code:
joe clint james brint howard
jimmy
alexander
*
me
When I run the function my output is as such:
Code:
file opened
word: joe
digit: 3
word: clint
digit: 5
word: james
[Code] .....
ERROR non alphanumeric digit on line 4!
File closed "Howard" is only six digits in length. Also it seems to skips a line in the output which could be the extra character but I am not sure. What I find very interesting is the other names, (jimmy & alexander) on separate lines do not have that problem.
Here is my function:
Code:
#include "main.h"
#include "fileCheck.h"
int fileCheck(FILE *fp){
int line_count = 0;
int ret_val = 0;
int digit_count = 0;
char file[BUFF];
[Code] .....
How I can correct this? I am aware of sscanf to parse the line but I do not know the format of the file. All I know is the file will be alphanumeric and if there is a non-alphanumeric, I must print out an error with the line it occurred on such as the above output.
View 3 Replies
Dec 29, 2013
The code that I have does not work.
Code:
#include <iostream>
#include <iomanip>
#include <sstream>
int main() {
std::string str3 = "99W8";
[Code] ....
View 4 Replies
View Related
Nov 28, 2013
Assuming that we have the string :
Code:
***HELLO&SIR. & and * is the delimiters.
My question is how strtok will work in the beginning?
According to this to determine the beginning and the end of a token, the function first scans from the starting location for the first character not contained in delimiters (which becomes the beginning of the token). And then scans starting from this beginning of the token for the first character contained in delimiters, which becomes the end of the token. The scan also stops if the terminating null character is found.
This end of the token is automatically replaced by a null-character, and the beginning of the token is returned by the function. strtok will replace the first * with '' and the next call will start from the second * puts '' there and again the same with the third * ?
View 8 Replies
View Related
Sep 27, 2014
How to use strtok and strcpy in a file?
View 1 Replies
View Related
Nov 20, 2013
I wrote this program, it's supposed to take a user-specified file, which has a bunch of numbers, and add all the numbers in a line and give me a sum and average.
Sample file:
------------------------------------
2 1 2
3 1 2 3
4 1 2 3 4
------------------------------------
This would output:
------------------------------------
Group Size = 2
i = 1 number = 1 Sum = 1
i = 2 number = 2 Sum = 3
Average = 1.50
Group Size = 3
i = 1 number = 1 Sum = 1
i = 2 number = 2 Sum = 3
i = 3 number = 3 Sum = 6
Average = 2.00
Group Size = 4
i = 1 number = 1 Sum = 1
i = 2 number = 2 Sum = 3
i = 3 number = 3 Sum = 6
i = 4 number = 4 Sum = 10
Average = 2.50------------------------------------
// END CONTEXT
Anyway, I wrote this program. Here it is. But strtok doesn't want to advance to teh next token?
Code:
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void){
int a, sum, number, groupsize;
}
[code].....
View 4 Replies
View Related
Jul 23, 2013
I am beginner in C++ programming. And i was try use STRTOK code with NULL fields, but in ARRAY fields NULL values is skiped. For example:
input text in Memo2:
AnsiString PAT02[100][20];
for (int IndexVRadku02 = 0; IndexVRadku02 < Memo2->Lines->Count ; IndexVRadku02++) {
AnsiString PNF02 = Memo2->Lines->Strings[IndexVRadku02];
char * PN02;
[Code] ....
Result:
Array 00 01 02 03 04 05
00 0000 TEXT1 TEXT2
01 0002 TEXT3 TEXT4 TEXT5
02 0003 TEXT6
But i need this result:
Array 00 01 02 03 04 05
00 0000 TEXT1 TEXT2
01 0002 TEXT3 TEXT4 TEXT5
02 0003 TEXT6
View 2 Replies
View Related
Mar 1, 2015
I'm playing around with parts of code and am coming across some errors. Most of my concern is related to strtok(). I've used it before but with a char* named token. I used a while loop to continuously check whether token was equal to NULL. In the following code, however, there aren't any checks. I was wondering if that is why this code prints (null) while running. Also, I would like to know if it is possible to read input like this code attempts to do - assigning tokens to each variable one after the other.
The format of the input:
Zucchini, Squash, pound
Yellow, Squash, pound
Tomatoes, Ugly Ripe, each
#include <stdio.h>
#include <stdlib.h>
[code]....
View 3 Replies
View Related
Jul 14, 2014
I am trying to make simpler equivalent of strtok().i want to separate string for my command line program. here is what i came up with
Code:
PVOID CmdArgs(PWCHAR Arg){
PWCHAR Return[10];
int I=0,s=0;
}
[code]....
i can not use winapi or standard c library because project im doing is pure ntdll api program (subsystem native in other words)
View 4 Replies
View Related
Oct 31, 2012
I have a string like "THIS::IS::THE:EXAMPLE::STRING"
I want to split the string to tokens based on "::".
The tokens should be:
THIS
IS
THE:EXAMPLE
EXAMPLE
STRING
View 1 Replies
View Related
Feb 28, 2014
I had an assignment to do a palindrome program but im stuck in this part.
"This c-string will be sent to a function that will remove all spaces and punctuation marks from its c-string as well as change any uppercase letters to lowercase. Use string tokens to eliminate the spaces & punctuation marks. Make sure you include the NULL as you concatenate the tokens into a c-string. Then copy back into the original c-string for the pass by reference."
void tokenptr(char drome[]) {
char *token;
size_t i;
token = strtok(drome, " ,.!:;?");
while (token != '