|
Hi All, i want to write a code to read a complete string. The code i have written reads the first word of every string. What all modification is it required to do the same? I am ucing MFC for the same.
Thank u all
French is the language of love, for everything else there is c++ ...(anonymous)
|
|
|
|
|
|
dubeypankaj wrote: The code i have written reads the first word of every string.
Your code to read string may have a bug! That may be stop reading on each SPACE character.
You can use strlen to find the length of the complete string.
dubeypankaj wrote: I am ucing MFC for the same.
In MFC the string manipulations are done with CString class.
|
|
|
|
|
Your question is not clear.
Where are you reading from? File? Standard input?
How are you reading it? scanf? cin?
I'm assuming that you are reading from standard input, ie, user input.
If you are using scanf , you can do this -
char sz[1024];
scanf("%[^\n]", sz);
If you are using cin , you can do this -
string s;
getline(cin,s);
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
No, I m not using cin or scanf, i am reading data from a text file, and storing the outputs in arrays and again giving these array values as input to the textboxes so as to get an onscreen display of tht perticular text box.
French is the language of love, for everything else there is c++ ...(anonymous)
|
|
|
|
|
You can getline on the file stream to read one line at a time.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
fopen("some_file.txt","r");
Search(fp_mt2, "Text: 2", "xyz");
for(i = 0; i < 10; i++)
{
fgets(line_buffer, 200, fp_mt2);
j=0;
while(line_buffer[j]!='(')
{
j++;
}
j = j + 2;
mt2[i] = line_buffer[j];
}
m_txt = mt2[0];
" " " " " "........ some 10 times w.r.t every value of mt2[j]
m-txt is the textbox. But i am getting only first character of every string of every line. The string carry 2 or 3 characters.
j = to reach the perticular line.
would u please help me further.
French is the language of love, for everything else there is c++ ...(anonymous)
|
|
|
|
|
Your last post was very confusing.
I didn't quite understand.
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Yes it is!
|
|
|
|
|
sorry for the same...
fopen("some_file.txt","r"); // opening the text file to read
Search(fp_mt2, "Text: 2", "xyz"); // search string xyz after string Text
for(i = 0; i < 10; i++) // reading 10 strings from 10 lines
{ // (starting string from each line)
fgets(line_buffer, 200, fp_mt2); // reading a line here
j=0;
while(line_buffer[j]!=':') // starts reading after ':'
{
j++;
}
j = j + 2;
mt2[i] = line_buffer[j]; // storing the string in an array
}
m_txt1 = mt2[0]; // output: displaying first string
m_txt2 = mt2[1]; // output: displaying second string
..............
..............
m_txt10 = mt2[9];
m_txt is the textbox.
now, i want to read a complete string but i am getting only first character of every string of every line.
where each string carry 2 or 3 characters.
would u please help me further, now ?
French is the language of love, for everything else there is c++ ...(anonymous)
|
|
|
|
|
Send an example of your text file. I don't think people here has understood your file format.
|
|
|
|
|
And how is mt2 declared?
Also how are m_txt1 , m_txt2 etc. declared?
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
I'm giving you a 5 for your tolerance.
It is a crappy thing, but it's life -^ Carlo Pallini
|
|
|
|
|
Thank you... Thank you... Thank you... Thank you... Thank you...
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Send an example of your text file. I don't think people here has understood your file format.... (from ur previous post)
#Its a text file(notepad.txt)
Text: 2
Parity: fad90
xyz:
01110000 00000000 00000100 10110000 00000010 00000000 00000000 00000000
00001001 01100000 01000101 00000000 00000000 00000000 11011001 00010000
00000000 00000000 00001111 01111100 11101100 01001110 11101101 11011110
11101101 11101110 1101
ABCD: 1
EFGH: 3
Correction[ 1 ]: 0 (0, 0m)
Correction[ 2 ]: 4b (75, 9.375m)
Correction[ 3 ]: 2 (2, 0.25m)
Correction[ 4 ]: 0 (0, 0m)
Correction[ 5 ]: 0 (0, 0m)
Correction[ 6 ]: 96 (150, 18.75m)
Correction[ 7 ]: 45 (69, 8.625m)
Correction[ 8 ]: 0 (0, 0m)
Correction[ 9 ]: 0 (0, 0m)
Correction[ 10 ]: d91 (3473, -77.875m)
Correction[ 11 ]: 0 (0, 0m)
Correction[ 12 ]: 0 (0, 0m)
Correction[ 13 ]: f7c (3964, -16.5m)
I am only getting first character after ':'(not reading newline character)
every time but getting, for ex: 4(instead of 4b), d(instead of d91) & so on.
mt2 is declared as:
char mt2[15];
m_txt1, m_txt2 are the textboxes takes Value(not control) and declared as type CString.
Hope this much info. will be sufficient for you people.
Even i am trying for the same and hope to get it right soon.
Thank you all once again for showing interest in my problem.
(Plz follow the previous link to check the code)
French is the language of love, for everything else there is c++ ...(anonymous)
|
|
|
|
|
dubeypankaj wrote: mt2 is declared as:
char mt2[15];
This can store only 1 string.
This needs to become
char mt2[15][1024];
In fact I recommend CStringArray .
dubeypankaj wrote: mt2[i] = line_buffer[j]; // storing the string in an array
You cannot assign a string like this for a character array.
Use strcpy_s .
You can use = if you are using CString[] or CStringArray .
«_Superman_»
I love work. It gives me something to do between weekends.
|
|
|
|
|
Thank you. Thank you very much for ur support.
And ofcourse thank you for tolerating me as well..(as commented by Rajesh)
French is the language of love, for everything else there is c++ ...(anonymous)
|
|
|
|
|
I needed a edit box in the browse for folder dialog.(SHBrowseForFolder()). So I defined a Browseforfolder Callback function. I created an editbox in the BFFM_INITIALIZED message inside the callback. Then I need to get the text from the editbox when OK is pressed.
But the callback is not called when the dialog exits!..
So how can get the text from the edit box...?
TIA
|
|
|
|
|
Hi All
How can i find Cut and Drag and Drop Files/FOlders Path?Can any one give me Suggestion how can i fiend it?Plz help me
|
|
|
|
|
In a project from some time back, I used the following code. You'll have to modify it so that all of the filenames are retrieved. (This code only retrieved the first one)
UINT getDroppedFilesCount(HANDLE hdrop)
{
UINT queryIndex = -1;
char returnBuffer[MAX_PATH] = "";
int bufferSize = MAX_PATH;
return DragQueryFile((HDROP)hdrop, queryIndex, returnBuffer, bufferSize);
}
void getDroppedFileName(HANDLE hdrop, char *DestBuffer)
{
UINT queryIndex = 0;
char returnBuffer[MAX_PATH] = "";
int bufferSize = MAX_PATH;
DragQueryFile((HDROP)hdrop, queryIndex, returnBuffer, bufferSize);
strcpy(DestBuffer, returnBuffer);
}
|
|
|
|
|
Thanks for reply but it's not working.Even for single file.
|
|
|
|
|
|
#include <windows.h>
#include <stdio.h>
#include <commctrl.h>
LRESULT CALLBACK WindowProcedure (HWND, UINT, WPARAM, LPARAM);
char szClassName[ ] = "CodeBlocksWindowsApp";
int WINAPI WinMain (HINSTANCE hThisInstance,
HINSTANCE hPrevInstance,
LPSTR lpszArgument,
int nCmdShow)
{
HWND hwnd;
MSG messages;
WNDCLASSEX wincl;
InitCommonControls();
wincl.hInstance = hThisInstance;
wincl.lpszClassName = szClassName;
wincl.lpfnWndProc = WindowProcedure;
wincl.style = CS_DBLCLKS;
wincl.cbSize = sizeof (WNDCLASSEX);
wincl.hIcon = LoadIcon (NULL, IDI_APPLICATION);
wincl.hIconSm = LoadIcon (NULL, IDI_APPLICATION);
wincl.hCursor = LoadCursor (NULL, IDC_ARROW);
wincl.lpszMenuName = NULL;
wincl.cbClsExtra = 0;
wincl.cbWndExtra = 0;
wincl.hbrBackground = (HBRUSH) COLOR_BACKGROUND;
if (!RegisterClassEx (&wincl))
return 0;
hwnd = CreateWindowEx (
WS_EX_ACCEPTFILES,
szClassName,
"Drop a file/files onto me",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
344,
175,
HWND_DESKTOP,
NULL,
hThisInstance,
NULL
);
ShowWindow (hwnd, nCmdShow);
while (GetMessage (&messages, NULL, 0, 0))
{
TranslateMessage(&messages);
DispatchMessage(&messages);
}
return messages.wParam;
}
UINT getDroppedFilesCount(HANDLE hdrop)
{
UINT queryIndex = -1;
char returnBuffer[MAX_PATH] = "";
int bufferSize = MAX_PATH;
return DragQueryFile((HDROP)hdrop, queryIndex, returnBuffer, bufferSize);
}
void getDroppedFileName(HANDLE hdrop, char *DestBuffer)
{
UINT queryIndex = 0;
char returnBuffer[MAX_PATH] = "";
int bufferSize = MAX_PATH;
DragQueryFile((HDROP)hdrop, queryIndex, returnBuffer, bufferSize);
strcpy(DestBuffer, returnBuffer);
}
LRESULT CALLBACK WindowProcedure (HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
{
switch (message)
{
case WM_DESTROY:
PostQuitMessage (0);
break;
case WM_DROPFILES:
HANDLE hDrop;
int numFiles;
char fileNames[MAX_PATH];
hDrop = (HANDLE) wParam;
if (getDroppedFilesCount(hDrop) == 1)
getDroppedFileName(hDrop, fileNames);
else
sprintf(fileNames, "Multiple files...");
MessageBox(NULL, fileNames, "You dropped", MB_OK);
break;
default:
return DefWindowProc (hwnd, message, wParam, lParam);
}
return 0;
}
|
|
|
|
|
Thank i try to do that in this methid..
|
|
|
|
|
MsmVc wrote: but it's not working.
Are you vying for the Brevity award?
"Old age is like a bank account. You withdraw later in life what you have deposited along the way." - Unknown
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
|
|
|
|
|