Sponsored Content
Top Forums Programming Strange character added when reading to buffer with length of 12 Post 302265276 by tazan_007 on Saturday 6th of December 2008 09:37:55 AM
Old 12-06-2008
Strange character added when reading to buffer with length of 12

Hi all,
I got trouble with reading and writing ( to standard input/output, file, socket whatever...).
I will briefly describe it by giving this example. I want to read a long string from keyboard but i don't know how long it is b4. So i need to know the number of character i will read first. Then i initialize my buffer to fit my desirable string and read this string from standard input.
However, everything is ok until i try to read 12 characters from keyboard. A weird character is automatically added : "ñ". And when i check the string length, it is 15. I don't know why because with other cases, there isn't some things like this happened.
Just a sample code:

#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <string.h>
main(){
int fd;
char *str;
int a;
char enter[1];
scanf("%d",&a);
str = malloc(a*sizeof(char));
read(0,str,a);
printf("%s ----- %d",str,strlen(str));
}


I have searched but still found nothing related to this.

Thanks
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

there was a strange character(^M) been added automatically in UNIX

I used Notepad to compile my txt file and then I transferred this file to UNIX. When I use vi to open the file, I found that at the end of each line there was a "^M" character. In the original txt file there was not this character. Why this character would been added automatically in UNIX? (4 Replies)
Discussion started by: Jasmine
4 Replies

2. UNIX for Dummies Questions & Answers

Reading character by character - BASH

Hello every one and thanks in advance for the time you will take to think about my problem. I would like to know if it's possible (in BASH) to read a text file character after character. Exactly this is what I would like to do : Txt file : ATGCAGTTCATTGCCAAA...... (~2.5 millions... (3 Replies)
Discussion started by: sluvah
3 Replies

3. Shell Programming and Scripting

awk to txt provide strange character

Hi all, I executed this script top -n 1 | awk '{ if (NR==3) print $2 }'and it will give me in console '31.6%us,'however, if I put the same script in txt file top -n 1 | awk '{ if (NR==3) print $2 }' >> test.txtwhen I open the test.txt I see 31.6%ESC(BESCI just actually need the 31.6 % to be... (1 Reply)
Discussion started by: peuceul
1 Replies

4. Shell Programming and Scripting

Problem with character by character reading

Hi friend, i have the following problem: when i am writting the below command on the command prompt , its working. while read -n 1 ch; do echo "$ch" ; echo "$ch" ; done<file_name.out. but when i am executing it after saving it in a ksh file, its not working. Please helppppppppp .. thankss... (18 Replies)
Discussion started by: neelmani
18 Replies

5. Shell Programming and Scripting

Filtering escape character from expect buffer

I have written an application in Tcl-Expect which spawns minicom and sends and receives data via the serial port. Sometimes i see that the application receives control characters along with human readable data. A search on the internet tells me that the control characters are nothing but the VT... (0 Replies)
Discussion started by: cityprince143
0 Replies

6. Shell Programming and Scripting

Preserve spaces while reading character character

Hi All, I am trying to read a file character by character, #!/bin/bash while read -n1 char; do echo -e "$char\c" done < /home/shak/testprogram/words Newyork is a very good city. Newyorkisaverygoodcityforliving I need to preserve the spaces as thats an... (3 Replies)
Discussion started by: Kingcobra
3 Replies

7. Shell Programming and Scripting

Warning while sorting : A newline character was added to the end of file

Hi, I am trying to sort a csv file which has say 10 lines each line having a row size that is upto 30183 no. of COLUMNS (Row length = 30183). There is a LINE FEED (LF) at the end of each line. When I try to sort this file say, based on the second FIELD using the below command, sort -t ',' +1... (5 Replies)
Discussion started by: DHeisenberg
5 Replies

8. Shell Programming and Scripting

Get column number with the same character length

so, i want to tail about the last 3000 lines of a log file and find the column that has the same number of characters across all 3000 lines (or most of the 3000 lines) tail -3000 logfile | while read line do ColumnCharCount=$(for eachwordorwhatever in "${echo $line}" do ... (8 Replies)
Discussion started by: SkySmart
8 Replies

9. Shell Programming and Scripting

Add string based on character length

Good day, I am a newbie here and thanks for accepting me I have a task to modify input data where my input data looks like 123|34567|CHINE 1|23|INDIA 34512|21|USA 104|901|INDIASee that my input has two columns with different character length but max length is 5 and minimum length is 0 which... (1 Reply)
Discussion started by: fastlearner
1 Replies

10. What is on Your Mind?

Updated Forum Search Index Min Word Length to 2 Chars and Added Quick Search Bar

Today I changed the forum mysql database to permit 2 letter searches: ft_min_word_len=2 I rebuilt the mysql search indexes as well. Then, I added a "quick search bar" at the top of each page. I have tested this and two letter searches are working; but it's not perfect,... (1 Reply)
Discussion started by: Neo
1 Replies
opx25(1M)																 opx25(1M)

NAME
opx25 - execute HALGOL programs SYNOPSIS
scriptname] char] file-descriptor] file-descriptor] string] DESCRIPTION
The commands, including are targeted for removal from HP-UX; see the below. HALGOL is a simple language for communicating with devices such as modems and X.25 PADs. It has simple statements similar to and that are described below. Options recognizes the following options: Causes to read script as the input program. If is not specified, reads the standard input as a script. Causes to use char as the first character in the input stream instead of actually reading it from the input descriptor. This is useful sometimes when the program that calls is forced to read a character but then cannot ``unread'' it. Causes to use number for the output file descriptor (i.e., the device to use for The default is 1. Causes to use 'number' for the input file descriptor (ie, the device to use for 'expect'). The default is 0. Causes to save this string for use when is encountered in a command. Causes to turn on debugging mode. Causes to turn on verbose mode. An script file contains lines of the following types: (empty) Empty lines are ignored. Lines beginning with a slash are ignored (comments) ID ID denotes a label, and is limited to alphanumerics or string must be surrounded by double quotes. The text is sent to the device specified by the option. Non-printable charac- ters are represented as in C; i.e., as DDD, where DDD is the octal ascii character code. in a send string is the string that followed the option. Send a break "character" to the device. Here number is how many seconds to wait before giving up. 0 means wait forever, but this is not advised. Whenever string appears in the input within the time allotted, the command succeeds. Thus, it is not necessary to specify the entire string. For example, if you know that the PAD will send several lines followed by an prompt, you could just use as the string. The program etc.) is run with the args specified. Do not use quotes here. Also, the program is invoked directly (using so wild cards, redirection, etc. are not possible. If the most recent expect or run encountered an error, go to the label ID. Similar to but does not fork. Similar to but goes to standard error instead of to the device. Sets the program in debug mode. It echoes each line to as well as giving the result of each expect and run. This can be useful for writing new scripts. The command disables this feature. Sends subsequent incoming characters to This can be used in the file as a security measure, because part of the incoming data stream contains the number of the caller. There is a similar feature in it writes the time and the login name into the same logfile. The command disables this feature. Similar to but better in some cases because it sends only digits to the log file, and not other characters. The command dis- ables this feature. Sets a global timeout value. Each expect uses time in the timeout reservoir; when this time is gone, the program gives up (exit 1). If this com- mand is not used, there is no global timeout. Also, the global timeout can be reset any time, and a value of 0 turns it off. Exits with this value. 0 is success; anything else is failure. To perform a rudimentary test of configuration files, run by hand, using the option followed by the name of the script file. then sends to standard output and expects from standard input; thus you can type the input, observe the output, and use the command to see messages. See the file for a good example of HALGOL programming. WARNINGS
Use of commands, including is discouraged because they are targeted for removal from HP-UX. Use ftp(1) or rcp(1) instead. AUTHOR
was developed by HP. SEE ALSO
getx25(1), uucp(1). TO BE OBSOLETED opx25(1M)
All times are GMT -4. The time now is 03:08 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy